
Cross-Site Scripting چیست:
این نوع حمله از نوع تزریق کد است که شخص مهاجم میتواند کد های مخرب خود را به سایت تزریق کند.
این حمله زمانی رخ میدهد که شخص نفوذگر با استفاده از یک web application کد های مخرب خود را به سمت مروگر ارسال کند.!
وسعت این حمله بسیار گسترده است.
این حمله میتواند اطلاعاتی را بدون رمز نگاری در اختیار نفوذگر قرار دهد.
* این حملات در:
Flash
VBScript
ActiveX
و حتی در CSS هم امکان پذیر است ولی
بیشترین استفاده آن در "JavaScript" است.
...
پ.ن:دوستان دانش هیچکس کامل نیست اگر مطالب ناقصن نادیده بگیرید به مرور زمان تکمیل میشن.
انواع XSS:
ما در اینجا 3 نوع از حمله شناسایی شده رو بهتون معرفی میکنیم که با نام های زیر شناخته میشن:
* DOM Based XSS
* Stored XSS
* Reflected XSS
که به ترتیب به معرفی هرکدوم میپردازیم که بخش جذاب این آموزش هست!
1.Stored XSS Attack :
* در این نوع حمله وقتی ما کد یا اسکریپت خودمون رو به سایت تزریق میکنیم در سایت باقی میمونه.
مثل یه پیام تو دیتابیس سایت یا لاگ های سایت یا کامنت ارسال تو انجمن!
که وقتی تارگت به اون قسمت مراجعه میکنه اون اسکریپت اجرا میشه و عمل میکنه و میتونی اطلاعاتی رو به رای نفوذگر به سرقت ببره.
که ممکنه اسکریپت نفوذگر به صورت داعمی یا موقتی رو سرور ذخیره بشه.
-
2.Reflected XSS Attack:
* در این نوع حمله کد ما به صورتی تذیریق میشه مثل فیلد جستجو یا یک لینک مخرب یا پیام خطا است.
این حمله میتونه تو قسمت های دیگه مثل یک ایمیل اتفاق بیفته!
تارگت با کلیک بر روی لینک مخرب میتونه به یک سایت مخرب منتقل بشه که اطلاعات حساس شخص به سرقت برده شود!
در این نوع حمله کد اسکریپت ما به صورت داعم ذخیره نمیشود
3.DOM Based XSS Attack(XSS-0):
*این نوع از حمله زمانی اتفاق می افتد که با پیلود اجرا شده است و پاسخی در نتیجه تغییرات در محیط مرورگر قربانی اتفاق افتاده باشد که از یک اسکریپت اصلی Client-Side استفاده کرده باشد که در نهایت به شیوه " unexpected " یا غیر منتظره اجرا میشود!
یعنی اینکه:صفحه سایت " HTTP Response " تغییری نمیکنید ولی اما کد مخرب ما در صفحه به صورت متفاوتی اجرا میشود.که با توجه به تغییرات مخربی که در صفحه سایت راخ داده است DOM رخ داده است به مثال زیر توجه کنید برای درک بهتر:
#مثال:
صفحه ما شامل کد زیر است:
…
Select your language:
<select>
("<OPTION value=1>"+.href.substring.href.indexOf("default=")+8)+"</OPTION>");
("<OPTION value=2>English</OPTION>");
</select>
…
آدرس صفحه در سایت به شکل زیر است:
http://www.some.site/page.html?default=French
ما به شکل زیر میتوانیم استفاده کنیم:
http://www.some.site/page.html?default=alert()
#OWSAP #XSS #DOM #Stored #Reflected #Umbrella