Endi siz JavaScript yordamida ham hujumga duchor bo'lishingiz mumkinligini tushungan bo'lishingiz mumkin. Keling, buni chuqurroq o'rganamiz, men uning texnik tafsilotlariga kirish o'rniga, oddiygina misollar bilan narsalarni tushuntirishga harakat qilaman.
XSS hujumi ikki xil bo'lishi mumkin: Saqlangan va aks ettirilgan XSS hujumlari.
Saqlangan XSS hujumi: veb-ilovada mavjud kamchiliklardan foydalanib, tajovuzkor zararli JavaScript kodini maqsadli ilovaga saqlashi mumkin. Jabrlanuvchi brauzerda zararlangan veb-sahifaga tashrif buyurganida, XSS hujumining foydali yuki jabrlanuvchining brauzeriga HTML kodining bir qismi sifatida taqdim etiladi (xuddi qonuniy izoh kabi). Bu shuni anglatadiki, jabrlanuvchilar sahifa o'z brauzerida ko'rilgandan so'ng zararli skriptni bajarishni tugatadilar. Men buni keyingi qismda elektron tijorat misolidan foydalanib tushuntirdim.
Ko'rsatilgan XSS hujumi: Ushbu turdagi hujumda tajovuzkorlar zararli havolalar, fishing elektron pochtalari va boshqa ijtimoiy muhandislik usullaridan foydalanadilar va jabrlanuvchini serverga so'rov yuborishga majbur qiladilar, masalan, tajovuzkor zararli havolani yuborishi mumkin:
Sovrin yutish uchun shu yerni bosingFoydalanuvchi bunday havolani bosganida va u XSS yukini aks ettirganida, foydalanuvchi brauzerida bajariladi.
Mana bitta oddiy dastur bo'lib, u yerda veb-sahifaning fon rangi foydalanuvchi kiritishiga ko'ra o'zgaradi. Shakl ichida bitta turdagi matn kiritish maydoni mavjudligini ko'rishingiz mumkin, u foydalanuvchi kiritishini rang nomi sifatida qabul qiladi (masalan, qizil, qora) va foydalanuvchi shaklni yuborgandan so'ng, veb-sahifaning fon rangi kiritilgan rangga o'zgaradi. foydalanuvchi.
SQL in'ektsiyasi - bu dastur zaifliklaridan foydalangan holda zararli SQL so'rovlari. Bundan tashqari, SQL in'ektsiyasi - bu ma'lumotlar bazasidan muhim ma'lumotlarni olish mumkin bo'lgan kodni kiritish usuli. SQLi ma'lumotlar bazasini yo'q qilishgacha borishi mumkin. SQLi bilan quyidagi ishlarni bajarish mumkin:
SQL Injection zaifligi tajovuzkorga ma'lumotlar bazasi serveriga to'liq kirish imkonini berishi mumkin.
SQL in'ektsiyasi ma'lumotlar bazasidagi ma'lumotlarni o'zgartirishga ham imkon berishi mumkin. Masalan, tajovuzkor SQL Injection yordamida balansni o'zgartirishi yoki moliyaviy ilovada o'z hisobiga pul o'tkazishi mumkin.
SQLi yozuvlarni o'chirish uchun ishlatilishi mumkin va ma'lumotlarni o'chirish ma'lumotlar bazasi qayta tiklanmaguncha dasturga kirishga ta'sir qilishi mumkin.
Ba'zi ma'lumotlar bazasi serverlarida ma'lumotlar bazasi serveri yordamida operatsion tizimga kirish mumkin
Ilova zaif, agar:
Foydalanuvchi tomonidan taqdim etilgan ma'lumotlar ilova tomonidan tekshirilmaydi, filtrlanmaydi yoki sterilizatsiya qilinmaydi.
Dinamik so'rovlar yoki kontekstga sezgir bo'lmagan holda bajariladigan parametrlashtirilmagan funktsiyalar tarjimonda to'g'ridan-to'g'ri ishlatiladi.
Xavfli ma'lumotlar ob'ektga aloqador xaritalash (ORM) qidiruv parametrlarida qimmatli, muhim yozuvlarni olish uchun ishlatiladi.
Kodni kiritish zaifligining asosi veb-ilova tomonidan ishlatiladigan ma'lumotlarni tekshirish va tozalashning yo'qligi hisoblanadi. Ushbu zaiflik veb-saytlar bilan bog'liq deyarli har qanday texnologiyada mavjud bo'lishi mumkin. Parametrlarni kirish sifatida qabul qiladigan har qanday narsa in'ektsiya hujumiga qarshi himoyasiz bo'lishi mumkin.
AppSec blogimiz seriyasida [3-qism] OWASP Top 10 haqida gapirdik. OWASP Top10 bilan bog'liq holda, ushbu blog postida biz A1 — Injection haqida batafsil gaplashamiz.