25
7. Xavfsizlikni ta’lim berish: Tizim tuzuvchilari va dasturchilarga xavfsizlikning
muhimligi haqida ta’lim berish kerak. Xavfsizlik prinsiplarini va tizimni hujumdan himoya
qilish usullarini tushunish, in’eksiya hujumlariga qarshi yaxshi tushunarli va ishonchli kod
yozishga imkon beradi.
Bu
tavsiyalar, SQL in’eksiyasi hujumlarini oldini olishda asosiy qadam-lar
hisoblanadi, lekin barcha xavfsizlik masalalarini hal qilishda tizimni asosiy xavfsizlik
prinsiplari va xavfsizlik sо‘rovlari bilan muvaffaqiyatli birlashtirish kerak.
SQL Injection hujumini amalga oshirish uchun tajovuzkor avval veb-sahifa yoki veb-
ilova ichida zaif foydalanuvchi ma’lumotlarini topishi kerak. SQL Injection zaifligiga ega
bо‘lgan veb-sahifa yoki veb-ilova bunday foydalanuvchi
kiritishidan bevosita SQL
sо‘rovida foydalanadi. Tajovuzkor kirish tarkibini yaratishi mumkin. Bunday kontent
kо‘pincha zararli yuk deb ataladi va hujumning asosiy qismidir. Tajovuzkor ushbu tarkibni
yuborgandan sо‘ng, ma’lumotlar bazasida zararli SQL buyruqlari bajariladi.
SQL - bu relyatsion ma’lumotlar bazalarida saqlangan ma’lumotlarni boshqarish
uchun mо‘ljallangan sо‘rovlar tili. Undan ma’lumotlarga kirish, о‘zgartirish va о‘chirish
uchun foydalanishingiz mumkin. Kо‘pgina veb-ilovalar
va veb-saytlar barcha
ma’lumotlarni SQL ma’lumotlar bazalarida saqlaydi. Ba’zi hollarda operatsion tizim
buyruqlarini bajarish uchun SQL buyruqlaridan ham foydalanishingiz mumkin. Shuning
uchun muvaffaqiyatli SQL Injection hujumi juda jiddiy oqibatlarga olib kelishi mumkin.
Buzg‘unchilar
ma’lumotlar
bazasidan
boshqa
foydalanuvchilarning
hisob
ma’lumotlarini topish uchun SQL Injections-dan foydalanishlari mumkin. Keyin ular
ushbu foydalanuvchilarning taqlid qilishlari mumkin. О‘zini
namoyon qilgan
foydalanuvchi barcha ma’lumotlar bazasi imtiyozlariga ega bо‘lgan ma’lumotlar bazasi
ma’muri bо‘lishi mumkin.
SQL ma’lumotlar bazasidan ma’lumotlarni tanlash va chiqarish imkonini beradi. SQL
Injection zaifligi tajovuzkorga ma’lumotlar bazasi serveridagi barcha ma’lumotlarga tо‘liq
kirish imkonini berishi mumkin.
26
SQL shuningdek, ma’lumotlar bazasidagi ma’lumotlarni о‘zgartirish
va yangi
ma’lumotlarni qо‘shish imkonini beradi. Misol uchun, moliyaviy dasturda tajovuzkor
balanslarni о‘zgartirish, tranzaktsiyalarni bekor qilish yoki о‘z hisobiga pul о‘tkazish
uchun SQL Injection-dan foydalanishi mumkin.
Ma’lumotlar bazasidan yozuvlarni о‘chirish, hatto jadvallarni
tushirish uchun SQL
dan foydalanishingiz mumkin. Administrator ma’lumotlar bazasining zahira nusxalarini
yaratsa ham, ma’lumotlarning о‘chirilishi ma’lumotlar bazasi tiklanmaguncha dastur
mavjudligiga ta’sir qilishi mumkin.
Bundan tashqari, zaxira nusxalari eng sо‘nggi
ma’lumotlarni qamrab olmasligi mumkin.
Ba’zi ma’lumotlar bazasi serverlarida siz ma’lumotlar bazasi serveri yordamida
operatsion tizimga kirishingiz mumkin. Bu qasddan yoki tasodifiy bо‘lishi mumkin.
Bunday holda, tajovuzkor SQL Injection-dan boshlang‘ich vektor sifatida foydalanishi va
keyin xavfsizlik devori orqasidagi ichki tarmoqqa hujum qilishi mumkin.
SQL Injection hujumi qanday amalga oshirilayotgani va u qanday jiddiy oqibatlarga
olib kelishi mumkinligini bosqichma-bosqich kuzatish uchun qarang: SQL Injectiondan
foydalanish: amaliy misol.