Ushbu bo'limda reflected cross-site scripting'ni tushuntiramiz, uning ta'sirini ta'riflaymiz va reflected XSS zaifliklarini qanday topishni ko'rsatamiz.
Reflected XSS ilova HTTP so'rovda ma'lumot olib, uni darhol javobga xavfsiz bo'lmagan tarzda qo'shganda yuzaga keladi. Masalan, vebsaytda qidiruv funksiyasi bo'lsa:
https://insecure-website.com/search?term=gift
<p>You searched for: gift</p>Ilova ma'lumotni qayta ishlamasa, hujumchi quyidagi hujumni qurishi mumkin:
https://insecure-website.com/search?term=<script>/* Yomon narsa... */</script>
<p>You searched for: <script>/* Yomon narsa... */</script></p>Agar ilovaning boshqa foydalanuvchisi hujumchi URL'ini so'rasa, hujumchi skripti jabrlanuvchi brauzerida, uning sessiyasi kontekstida bajariladi.
Agar hujumchi jabrlanuvchi brauzerida bajariladigan skriptni boshqara olsa, u odatda foydalanuvchini to'liq buzishi mumkin: foydalanuvchi bajara oladigan har qanday amalni bajarish, ko'ra/o'zgartira oladigan ma'lumotni ko'rish/o'zgartirish. Reflected XSS'ning ta'siri odatda stored XSS'dan kamroq jiddiy, chunki u tashqi yetkazish mexanizmini talab qiladi.
Reflected XSS'ning ko'p xillari bor. Reflected ma'lumotning javobdagi joylashuvi qanday payload kerakligini belgilaydi. Agar ilova ma'lumotni reflected qilishdan oldin tekshirsa yoki qayta ishlasa, bu ham kerakli payloadga ta'sir qiladi. Batafsil: Cross-site scripting kontekstlari.
Reflected XSS zaifliklarini Burp Suite scanner bilan tez topish mumkin. Qo'lda: har bir kirish nuqtasini sinash; tasodifiy harf-raqamli qiymatlar yuborib, ular javobda qaytishini aniqlash; reflection kontekstini aniqlash; nomzod payloadni sinash; muqobil payloadlarni sinash; hujumni brauzerda tekshirish (masalan alert(document.domain)).