تشخیص باگ xss


معرفی
فهرست موضوعات مطالب
برای تشخیص باگ xss ابتدا لازم به معرفی آن داریم و سپس و بررسی رفتار آن در
سیستم خود، قادر به تشخیص آن میشویم.
این باگ که در اصل به اسکریپت نویسی متقاطع یا Cross-site scripting معرف است؛
یکی از آسیب های امنیتی در وب اپلیکیشن هاست که هکر به وسیله آن میتواند یک
اسکریپت از سمت کاربر (client) به صفحات وب اپلیکشن ها اضافه کند تا با آن از مزر
مجاز کنترل دسترسی عبور کند و اغلب روی دستکاری حساب های کاربری (اکانتها)
تمرکز دارد.
انواع باگ xss
به طور کلی پنج نوع متفاوت از باگ xss وجود دارد که از این بین دو نوع پایدار (Persistent) و
ناپایدار (Non-persistent) از همه مهم تر هستند.
- پایدار این نوع از سایر xss ها مخرب تر است و زمانی رخ میدهد که هکر دادههای خود را در
سمت سرور مینویسد و بصورت دائمی ذخیره میشود و به تمام کاربران نفوذ میکند و اطلاعات
حساب تمامی کاربران فاش میشود. برای مثال فرض کنید در همین سایت خودمان وقتی دیدگاه
خود را ثبت میکنید. نام واعی شما و آدرس ایمیل که جز اطلاعات شخصی شماست برای دیگران
قابل مشاهده شود. در این حالت اگر بدون اطلاع ادمین باشد، یک حمله از نوع باگ xss پایدار داریم.
- ناپایدار بدین معنا که در صفحه ای که کاربر از یک سایت درخواست میکند، به هم ریختگی و یا
صفحهای غیر مرتبط در داخل یک سایت نمیاش داده شود. که در اینجا کد تزریق شده هکر در قسمت
HTML سایت اثر گذاشته است و معمولا از طریق لینک تایید حساب کاربری، که هکر آن را آلوده به ک
خود میکند، اتفاق میافتد.
- آسیب پذیری DOM-based اولین نوع شناخته شده باگ xss میباشد که در
عملیات درخواست و پاسخ کاربر رخ میدهد به گونهای که کد جاوااسکریپ (برای رابط کاربری) و تکنیک
AJAX (برای عملکرد سرور) اجرا میشوند. موقعی که کد جاوااسکریپت در حال اجراست، هکر یک
زیر کلاس از کد خود در آن اضافه کرده و داده های مخرب خود را وارد سایت میکند. البته این کدها تاثیری
در سرور ندارد و همان طور که میدانید، کدهای جاوا اسکریپت بیشتر برای ظاهر و رابط کاربری سایت کاربرد دارد.
در تصویر زیر یک نمونه از هشدار سیستم به این نقص را میبینیم.
- Self-XSS بیشتر به شاخه مهندسی اجنماعی (Social Engineering) مربوط میشود که مشابه
DOM-based ، با اجرای کدهای مخرب جاوا اسکریپت اینبار در مرورگرها باعث هک یک وب سایت میشود.
- Xss جهش یافته در نوع جهش یافته هکر کد مخرب خود را بصورت یک کد امن مینویسد و سپس با دستکاری
مرورگر باعث میشود که مرورگر با دیدن آن کد آن را اصلاح و به کدی مخرب تبدیل کند.
یک مثال رفتاری باگ xss
با توجه به مطالب گفته شده تا حد مطلوبی تشخیص باگ xss را یاد گرفتیم و حالا با یک مثال بحث را کامل میکنیم:
فرض کنید شما در مرورگر خود سایت it-mag.org را جست و جو میکنید و شخص دیگری (هکر) قبلا از طریق لینک آلوده ای
که یکبار شما روی آن کلیک کرده اید browser تان را دستکاری کرده، اگر سایت مورد نظر از cookie استفاده کنید؛
یک کپی از cookie شما به هکر ارسال میشود و اینگونه اطلاعات شما در آن سایت قابل دسترسی برای هکر میباشد.
این یک مثال ساده از نوع ناپایدار باگ xss است. مطالب بیشتر درباره هک سایتها را میتوانید در این مقاله مطالعه کنید.
چطور بفهمیم یه سایت این باگ رو داره؟با کالی یا ترموکس میشه؟یا دورک؟