3 – amaliy ish
Mavzu: OWASP WebGoat simulyatorida SQL ineksiya tahdidini amalga oshirish
Ishdan maqsad: Ma’lumotlar ba’zalariga bo‘ladigan SQL – ineksiya tahdidi haqidagi nazariy va amaliy bilim ko‘nikmalarni shakllantirish
Nazariy qism
SQL ineksiya tahdidi ma’lumotlar bazasiga tegishli bo‘lgan tahdid bo‘lib, SQL so‘rovlarga taqiqlangan belgilarni kiritish va buning natijasida ma’lumotlar bazasida boshqa natija olishga qaratilgan. Bu tahdid turi eng ko‘p uchraydigan tahdid turi bo‘lib, uning hajmi yildan – yilga ortib bormoqda.
Sodda misol. Bu tahdidni tushunish uchun quyidagi sodda hayotiy misolni keltiraylik. “Alining otasi onasiga Aliga 100$ pul berish kerakligini yozib maktub qoldirdi.” Bu gapni SQL so‘rovi shaklida ifodalansa quyidagicha bo‘ladi: “cho‘ntagimdan 100$ OL VA HAMMASINI BER ALIGA”.
Qoldirilgan maktubni Alining akasi Vali ko‘rib qoldi. Vali bo‘lg‘usi xaker bo‘lganligi uchun, qoldirilgan maktubga “YoKI VALIGA” deb qo‘shib qo‘yadi.
Ona kelib maktubni oladi va kecha Aliga pul berganligi uchun pulni Valiga beradi. Bu SQL ineksiya tahdidiga bir hayotiy misol. Ona qoldirilgan maktubni filterlamaslik natijasida pulni Valiga berib yubordi.
SQL ineksiyaning 5 ta asosiy sinfi mavjud:
UNION query SQL injection. Ushbu tur ineksiyaning klassik ko‘rinish bo‘lib, bundan so‘rov “UNION ALL SELECT” dan takshil topgan bo‘ladi. Bu turdagi ineksiya SELECT dagi natija to‘g‘ridan – to‘g‘ri qaytarilganda yuzaga keladi.
Error-based SQL injection. Bu holda skaner tekshirish davomida zaif belgini almashtirish yoki qo‘shgan vaqtda yuzaga keladi va ma’lumotlarni boshqarish tizimlarida xatolik yuz berganda foydalaniladi.
Stacked queries SQL injection. Bu turdagi ineksiyada SELECT komandasidan tashqari buyruqlar (INSERT yoki DELETE) foydalanilgan holda va
HTTP so‘rovlarini tekshirish jarayonida nuqtali vergul (;) bilan almashtirish sodir bo‘lganda yuzaga keladi.
Dostları ilə paylaş: |