XSS چیست ؟ (حملات تزریق کد)
تزریق کد (انگلیسی:XSS: Cross site scripting) از روشهای نفوذ و گرفتن دسترسی غیر مجاز از یک وبگاه است که توسط یک هکر به کار میرود.
تاریخچه :
تاریخچه حفرههای امنیتی در معرض حملات XSS به سال ۱۹۹۶ و سالهای اولیه صفحات وب باز میگردد. نفوذگران در آن زمان که پروتکل HTTP جا افتاده بود و طراحان وبگاهها از زبانهای پردازهنویسی مانند جاوا اسکریپت سود میبردند، دریافتند وقتی کاربران معمولی وارد سایتی میشود میتوان به کمک کدنویسی در حفرههای امنیتی وبگاه، صفحه دیگری را در همان صفحه بارگذاری کرد سپس با سود بردن از جاوا اسکریپت دادههای کاربر مانند نام کاربری، گذرواژه و یا کوکی(Cookie)ها را دزدید.
در این هنگام رسانهها این مشکلات را به ضعف امنیتی مرورگرها نسبت داده بودند. شرکت ارتباطی Netscape که جزو اولین تولیدکنندگان مرورگرهای وب و همچنین سازنده زبان جاوا اسکریپت بود سیاست دامنه شخصی را به این زبان افزود که جلوی دسترسی به آدرسهای خارج از دامنه وبگاه را میگرفت و تا حدودی این حملات را محدود میکرد.
انواع حملات :
سناریوهای مختلفی برای قرار دادن کد مخرب در سایتها به عنوان حمله وجود دارد:
- طراح سایت، خود کد مخرب را در صفحه قرار داده باشد.
- حفره سایت ممکن است در سطح سیستمعامل یا شبکه ایجاد شده باشد.
- یک حفره دائمی در یکی از مکانهای عمومی وبگاه قرار گرفته باشد.
- قربانی بر روی یک لینک حاوی XSS مدل non-persistent یا DOM-based کلیک کند.
- سود بردن از مرورگر مناسب.
- سود بردن از ابزارهای محدودکننده اجرای کد مانند NoScript (اگه اطلاعات کافی در این خصوص ندارین ، پیشنهاد میشه استفاده نکنید ! )
- کلیک نکردن بر روی لینک و آدرسهای ناشناس.
- لاگ گرفتن از کنسول مرورگرتون (بعدا در این مورد توضیح داده میشه)
- ۹۲/۰۵/۱۶