PDA

View Full Version : سوال: حملات ناشی از xss



mohsen.nsb44
پنج شنبه 04 خرداد 1391, 14:23 عصر
یکی از دوستان در تاپیک های قبلی که در این مورد ایجاد کرده بودم گفتند که با استفاده از حملات xss میشه کوکی ها رو دزدید حالا من از ادیتور استفاده بکنم مجبورم validation request رو برابر false بگیرم که بستر این حملات رو مهیا میکنه
سوالم اینجاست که بغیر از دزدیدن کوکی زمانی که validation request برابر false بشه دیگه چه خطر هایی سایت رو تهدید میکنه؟
و کلا چه کارهایی میشه با xss انجام داد؟
من از antixss تویه پروژه استفاده کردم یه مشکل دارم به عنوان مثال من کد زیر رو نوشتم


cmd.Parameters.AddWithValue("@matn",AntiXss.HtmlEncode(FreeTextBox1.Text));

اما با این کد همه نوشته ها encode شدند
کد رو به صورت زیر تغیر دادم


cmd.Parameters.AddWithValue("@matn",AntiXss.HtmlEncode(FreeTextBox1.Text.Replace("<script",AntiXss.HtmlEncode("<script"))));

اما نه script رو که در متن امده بود encode کرد و نه چیز دیگری رو
منتظر جواب شما دوستان هستم که چه کار بکنم

dorparasti
پنج شنبه 04 خرداد 1391, 17:18 عصر
با استفاده از یک حفره XSS هکر می تونه هویت کاربر رو بدزده ، اونرو به یک سایت دیگه منتقل کنه ، از سیستم کاربر اطلاعات جمه کنه ( چون تنها جاوااسکریپت نیست می تونه فلش یا اکتیواکس هم باشه ) و ...

در مورد سوال دوم من خودم موقع استفاده از ادیتور ها از تابع HtmlEncode استفاده نمی کنم ( به همون دلیل که گفتید ) بلکه از تابع GetSafeHtml ( یه همچین چیزی ) استفاده می کنم . این تابع تگهای سالم رو بر اساس یک white List حفظ می کنه و بقیه تگ ها رو پاک میکنه .

mohsen.nsb44
پنج شنبه 04 خرداد 1391, 18:44 عصر
با استفاده از یک حفره XSS هکر می تونه هویت کاربر رو بدزده ، اونرو به یک سایت دیگه منتقل کنه ، از سیستم کاربر اطلاعات جمه کنه ( چون تنها جاوااسکریپت نیست می تونه فلش یا اکتیواکس هم باشه ) و ...

در مورد سوال دوم من خودم موقع استفاده از ادیتور ها از تابع HtmlEncode استفاده نمی کنم ( به همون دلیل که گفتید ) بلکه از تابع GetSafeHtml ( یه همچین چیزی ) استفاده می کنم . این تابع تگهای سالم رو بر اساس یک white List حفظ می کنه و بقیه تگ ها رو پاک میکنه .
دوست عزیز تو antixss گزینه ای به نام GetSafeHtml ندیدم شما با چه ابزاری اینکار رو انجام میدید

dorparasti
پنج شنبه 04 خرداد 1391, 19:30 عصر
شما اونو از کجا دانلود کردید . احتمال داره به خاطر نسخه اش باشه . برید و آخرین نسخه رو از خود سایت مایکروسافت بگیرید

mohsen.nsb44
پنج شنبه 04 خرداد 1391, 19:40 عصر
شما اونو از کجا دانلود کردید . احتمال داره به خاطر نسخه اش باشه . برید و آخرین نسخه رو از خود سایت مایکروسافت بگیرید
لینکشو دارین؟ احتمالا به خاطر نسخشه چون اون گزینه تو لیستش نیست اگه لینک دانلودشو بزارین ممنون میشم

mohsen.nsb44
پنج شنبه 04 خرداد 1391, 20:43 عصر
شما اونو از کجا دانلود کردید . احتمال داره به خاطر نسخه اش باشه . برید و آخرین نسخه رو از خود سایت مایکروسافت بگیرید
دوست عزیز من ورژن AntiXSS Library v4.2 رو دانلود کردم از سایت ماکروسافت اما گزینه ای که شما گفتید رو نداره

dorparasti
پنج شنبه 04 خرداد 1391, 22:47 عصر
در نسخه های جدید دو تابع GetsafeHTML و GetSafeHtmlFragement رو از این اسمبلی جدا کردن و توی یک اسمبلی دیگه به نام HtmlSanitizationLibrary گذاشتن . علت هم اینه که این دو تابع نیاز به Full Trust دارند و بقیه توابع AntiXSS در حد Medium Trust بودن برای همین اینا رو از هم جدا کردن .برای استفاده از این دو تابع باید بعد از نصب AntiXss 4.2.1.msi برید توی فولدر ساخته شده و فایل HtmlSanitizationLibrary.dll رو از توی فولدر SANITIZER بردارید و به پروژه اضافه کنید . مسیر نصب هم اینه

C:\Program Files\Microsoft Information Security\AntiXSS Library v4.2

mohsen.nsb44
جمعه 05 خرداد 1391, 00:03 صبح
در نسخه های جدید دو تابع GetsafeHTML و GetSafeHtmlFragement رو از این اسمبلی جدا کردن و توی یک اسمبلی دیگه به نام HtmlSanitizationLibrary گذاشتن . علت هم اینه که این دو تابع نیاز به Full Trust دارند و بقیه توابع AntiXSS در حد Medium Trust بودن برای همین اینا رو از هم جدا کردن .برای استفاده از این دو تابع باید بعد از نصب AntiXss 4.2.1.msi برید توی فولدر ساخته شده و فایل HtmlSanitizationLibrary.dll رو از توی فولدر SANITIZER بردارید و به پروژه اضافه کنید . مسیر نصب هم اینه

C:\Program Files\Microsoft Information Security\AntiXSS Library v4.2
دوست عزیز اون dll رو هم اضافه کردم اما باز گزینه ای که گفتید نیست

dorparasti
جمعه 05 خرداد 1391, 00:57 صبح
بعد از اضافه کردن به پروژه با کد زیر به اون دسترسی باید داشته باشید


Microsoft.Security.Application.Sanitizer.GetSafeHt ml

mohsen.nsb44
جمعه 05 خرداد 1391, 01:37 صبح
بعد از اضافه کردن به پروژه با کد زیر به اون دسترسی باید داشته باشید


Microsoft.Security.Application.Sanitizer.GetSafeHt ml

ممنون اما من دستور زیر رو نوشتم

<Script>
alert ("سلام")
</Script>
بعدشم یه متنی نوشتم اما موقع مشاهده دیدم که دستوری که نوشتم عینا نمایش داده میشه