Blind SQL injection hujumi - Individual loyiha mavzu: Web tizimlarda in’eksiya hujumlari va ularni oldini olish usullari

1.1.1 Blind SQL injection hujumi. Ilova hujumga qarshi himoyasiz, ammo uning
ta’siri tajovuzkorga kо‘rinmaydi. SQL-ga kiritilgan SQL in’ektsiyasi "kо‘r" bо‘lib qoladi.
Ma’lumot kо‘rsatilmasdan kengaytirilishi mumkin, ammo tо‘g‘ri bayonotlar yordamida
tizimga kiritilgan mantiqiy jarayonlar turli ishlab chiqilgan ma’lumotlar natijalariga olib
keladi. Noyob satr sinovdan о‘tkazilganda ma’lumotlar bazasiga qо‘shilgan har qanday
bayt uchun yangi baytlar qо‘shilishi kerak. Kamchilik qaerda joylashganligini bilsangiz,
tegishli maqsad ma’lumotlarini qidirish uchun Absinthe-dan foydalanishingiz mumkin.
Blind SQL in’ektsiyasi bu SQL in’ektsion hujumining bir turi bо‘lib, bu yerda
tajovuzkor veb-sayt ma’lumotlar bazasini boshqarish uchun zaiflikdan foydalanadi, hatto
kiritilgan SQL kodining natijalari tajovuzkorga bevosita kо‘rinmasa ham. Kо‘r-kо‘rona
SQL in’ektsiya hujumlarida, tajovuzkor haqiqiy sо‘rov natijalarini olmaydi, lekin
dasturning xatti-harakati yoki javoblari orqali ma’lumot olishi mumkin.
12
Blind SQL in’ektsion hujumlari odatda shartli sо‘rovlar yoki mantiqiy sо‘rovlarni
yaratadigan SQL kodini kiritishni о‘z ichiga oladi. Keyin tajovuzkor kiritilgan shartning
tо‘g‘ri yoki notо‘g‘ri ekanligini aniqlash uchun ilovaning javobini kuzatishi mumkin.
Javobga asoslanib, tajovuzkor asta-sekin ma’lumotlar bazasidan ma’lumot olishi mumkin.
Blind SQL in’ektsiya hujumlarini aniqlash va ulardan foydalanish odatiy SQL
hujumlariga qaraganda ancha qiyin bо‘lishi mumkin. Ular kо‘pincha sinov va xato
yondashuvini talab qiladi, bu erda tajovuzkor SQL sо‘rovlarini maxsus shartlar bilan tuzadi
va ma’lumot tо‘plash uchun ilovaning javobini tekshiradi.
Blind SQL in’ektsion hujumlaridan himoya qilish uchun siz quyidagi choralarni
kо‘rishingiz mumkin:
1. Kirishni tekshirish va sanitarizatsiya qilish: SQL in’ektsion hujumlarining har
qanday shaklini oldini olish uchun foydalanuvchi kiritgan ma’lumotlarni har doim
tekshirib turing va tozalang. Kirish tekshiruvi qat’iy bо‘lishi va faqat kutilgan ma’lumotlar
turlari, uzunligi va formatlariga ruxsat berishi kerak.
2. Parametrlashtirilgan sо‘rovlar yoki tayyorlangan bayonotlar: Parametrlangan
sо‘rovlar yoki tayyorlangan bayonotlardan foydalaning, chunki ular SQL kodini
foydalanuvchi kiritishidan ajratib, zararli kodni kiritishni oldini oladi.
3. Ma’lumotlar bazasi xato xabarlarini cheklash: Batafsil xato xabarlarini
foydalanuvchilarga oshkor qilmang, chunki ular tajovuzkorlarga qimmatli ma’lumotlarni
taqdim etishi mumkin. Buning о‘rniga, maxfiy ma’lumotlar bazasi ma’lumotlarini oshkor
qilmasdan, xatolarni xavfsiz boshqaring va qayd qiling.
4. Xavfsiz kodlash amaliyotlari: Kodingizdagi zaifliklarni minimallashtirish uchun
xavfsiz kodlash amaliyotiga rioya qiling, jumladan muntazam yangilanishlar, xavfsiz
kutubxonalar va ramkalar yordamida hamda eng kam imtiyozlar tamoyiliga rioya qiling.
5. Veb-ilovalar xavfsizlik devori (WAF): zararli SQL in’ektsiya urinishlarini,
jumladan, kо‘r-kо‘rona SQL in’ektsiya hujumlarini aniqlay oladigan va bloklay oladigan
WAFni amalga oshirishni kо‘rib chiqing.
13
Ushbu chora-tadbirlarni amalga oshirish orqali siz kо‘r-kо‘rona SQL in’ektsiya
hujumlari xavfini sezilarli darajada kamaytirishingiz va veb-ilovangizning umumiy
xavfsizligini oshirishingiz mumkin.