Aks ettirilgan zaiflikka asoslangan hujum bugungi kunda является eng keng tarqalgan XSS hujumidir. Ushbu zaifliklar veb-mijoz tomonidan taqdim etilgan ma'lumotlar ko'pincha параметрах HTTP so'rov parametrlarida yoki в форме HTML shaklida исполняются to'g'ridan-to'g'ri server skriptlari tomonidan ushbu mijoz uchun natijalar sahifasini tahlil qilish va ko'rsatish uchun to'g'ri ishlov berilmagan holda amalga oshirilganda paydo bo'ladi . Aks ettirilgan XSS hujumi срабатывает, когда foydalanuvchi переходит по maxsus tayyorlangan havola orqali o'tganda tetiklanadi. [2]
Misol:
http://example.com/search.php?q= Agar sayt не экранирует burchak qavslarini himoya преобразуя qilmasa, ularni в "<" va
">", получим скрипт на странице qidiruv natijalari sahifasida skriptni oling .
Aks ettirilgan hujumlar, как odatda, рассылаются по elektron pochta orqali yuboriladi личным сообщением через , turli xil ijtimoiy tarmoqlar orqali shaxsiy xabar orqali yuboriladi yoki veb-sahifaga joylashtiriladi. URL o'lja ishonchli veb-sayt ishora, lekin XSS vektor o'z ichiga olgan, shubha sabab bo'lmaydi. Agar ishonchli sayt уязвим к вектору XSS vektoriga zaif то bo'lsa, u holda havolani bosing ссылке
может привести к тому, что браузер jabrlanuvchining Brauzeri начнет o'rnatilgan skriptni ishga tushirishiga olib kelishi mumkin встроенный .
Saqlangan (Saqlangan) (Stored)
Saqlangan XSS eng zararli hujum turi hisoblanadi. Saqlangan XSS, tajovuzkor serverga вредоносный код, выполняющийся в браузере каждый asl sahifaga kirishda har safar brauzerda ishlaydigan zararli kodni kiritishga muvaffaq обращении к оригинальной bo'lganda mumkin. Классическим примером Ushbu zaiflikning klassik namunasi являются форумы, на которых разрешено оставлять -HTML formatida sharh qoldirishga ruxsat berilgan forumlar, shuningdek , boshqa veb -saytlar 2.0 (bloglar, wiki, imageboard), когда на serverda хранятся maxsus matnlar va chizmalar saqlanganda. Skriptlar ushbu matnlar va chizmalarga kiritilgan. [2]
Фрагмент кода похищения ключа Sessiya identifikatori bilan kalitni o'g'irlash kodining bir qismi идентификатором сессии (session ID):
По каналам Skriptni amalga oshirish kanallariga ko'ra :
Ошибки в Brauzerdagi xatolar.
Из-за Xatolar tufayli brauzer может выполнят нарушать правило bir xil domen siyosati qoidasini buzishi mumkin . Bu jiddiy xatolardir; после ularni topgach , ular tezda yopiladi, lekin o'tish переходный davrida опасными становятся deyarli barcha saytlar xavfli bo'ladi: forumlar, vikilar, rasm. Agar bunday xato bo'lsa
topilgan, yangilanish kelguniga qadar boshqa brauzerdan foydalanish tavsiya etiladi.
Bundan tashqari, juda aniq sharoitlarda paydo bo'ladigan nozik xatolar специфичных условиях ham bor va ular katta zarar не etkazmaydi. Bunday xatolar могут не исправляться годами и выгоднее исправить brauzer yangilanishlarini kutishdan ko'ra saytni yillar davomida tuzatib bo'lmaydi va yanada foydali чем ждать обновления bo'ladi.
Отсутствие экранирования Maxsus belgilarni himoya qilishning yo'qligi
Намного чаще Saytlardagi xatolar juda keng tarqalgan на . Чтобы Brauzer HTML yorlig'i uchun chiziqni qabul qilmasligi uchun beshta belgini ko'rsatish kerak:
1) '
2) "
3) &
4) <
5) >
Server barcha belgilarni (PHP-ning taniqli kamchiliklarini ) yoki veb-dasturchini faqat забывает satrni ekranlashni unutmasligi mumkin .
Odatda в базах ma'lumotlar bazalarida matn хранится ekranlanmagan holda saqlanadi va har safar HTML-ga joylashtirilgan barcha maxsus satrlarni ekranlash kerak они встраиваются в : masalan, если не rasmning URL manzili saqlanmagan bo'lsa, foydalanuvchi может bunday matnni kiritishi mumkin
http://example.com/img.png"onmouseover="javascript:DoSomething(); Mijoz ushbu rasm bilan serverdan sahifa so'raganda, server, в javob вернет sifatida, mijozga HTML-sahifa kodini qaytaradi содержищий , zaiflik mavjud:
http://example.com/img.png"onmouseover="javascript:DoSomething()”> Shunday qilib, при har движении bir sichqoncha harakati будет вызываться функция bilan DoSomething funksiyasi chaqiriladi. Ko'pgina saytlar позволяют форматирование текста с помощью har qanday formatlash tili (HTML, wiki-belgilar) yordamida matnni formatlash imkonini beradi. Ko'pincha не amalga oshirilmaydi
полный лексический анализ belgilash tilini to'liq leksik tahlil qilish, а faqat konvertatsiya qilish
muntazam ifodalar yordamida "xavfsiz" HTML. Bu dasturlashni osonlashtiradi, lekin требует досконального понимания, какими путями skriptning может HTML-kodga qanday kirishi mumkinligi haqida to'liq tushunishni talab в результирующий qiladi.
Ruxsat etilgan teglardagi atributlar va ularning qiymatlarini filtrlashning etishmasligi odatda misol bo'ladi