Sql-injection bu ma'lumotlar bazasiga qilingan so'rovni qalbakilashtirish



Download 1,65 Mb.
Pdf ko'rish
Sana08.06.2022
Hajmi1,65 Mb.
#643929
Bog'liq
SQL Injection



 "SQL 
injection" 
nima ?
18/01 IAT 
Raximboeva Guli


SQL 
Injection
SQL-Injection – bu ma'lumotlar bazasiga 
qilingan so'rovni qalbakilashtirish, 
ya'ni dasturchi e'tiborsizligi natijasida 
kiritiluvchi ma'lumotlarni 
filtrlanmasligidan foydalanib, so'rovga 
o'zgartirish kiritish orqali serverdagi 
ma'lumotlar bazasiga yo'l topishdir.


O d d i y S Q L s o ' r o v :
Barchasi yana ham tushunarliroq bo'lishi uchun sizga hozir avval oddiy bir SQL so'rovni yozib ko'rsataman 
kiyin esa birgalikda ushbu so'rovni "SQL injection" uslubidagi hujum buyrug'iga alishtiramiz.
SELECT * FROM yangiliklar WHERE yangilik_id = 5;
Ushbu so'rovda ma'lumotlar omboridagi "yangiliklar" jadvalidan id raqami 5 bo'lgan qaydni so'rayapmiz, 
ammo ushbu 5 raqami o'rnida GET uslubdagi havoladan olingan o'zgaruvchi saqlovchi bo'ladi va o'sha 
havoladagi o'zgaruvchining qiymatiga 5 emas SQL so'rovni davom etuvchi qo'shimcha yozishimiz mumkin:
SELECT * FROM yangiliklar WHERE yangilik_id = -1 OR 1=1;
Yuqoridagi o'zgartirilgan so'rovda biz id raqami 5 ga teng bo'lgan yagona qaydni emas umuman barcha 
qaydlarni so'rab olishimiz mumkin, shunga o'xshash oddiy o'zgaruvchini SQL so'rovga o'zgartirishimiz orqali 
qaydlarni olishimiz, o'chirishimiz, yaratishimiz yoki o'zgartirishimiz mumkin
Mi
so
ll
ar
y
or
da
mi
da
ko
'r
ib
c
hi
qa
mi
z


Eng oddiy va ko'p qo'llaniladigan usul 
bu WHERE shartli operatoriga doim 
haqiqat bo'ladigan shartni yoki 
qiymatni yuborish. Bunday uslub SQL 
so'rov javob beradigan ma'lumotlar 
omborida har bir qayd uchun ma'qul 
kelaveradi, natijada ma'lumotlar 
ombori barcha qaydlarni taqdim etadi.
Navbatdagi jiddiy va qo'rqinchli 
usullardan biri bu UNION operatori 
yordamida bir so'rov ichiga boshqa 
so'rovni bog'lab yuborishdir.
Uchinchi uslub bu butun boshli 
so'rovning ma'lum bir qismini izoh 
shakliga o'tkazish orqali ma'lumotlar 
omboriga tugallanmaydigan so'rov 
yuborishdir
"SQL injection" 
hujum turlari
1
2
3


In'ektsiyalarni oldini olish usuli SQL-da maxsus ma'noga ega bo'lgan 
belgilardan qochishdir. SQL DBMS uchun qo'llanmada qaysi belgilar alohida 
ma'noga ega ekanligi tushuntiriladi, bu esa har tomonlama yaratishga imkon 
beradi qora ro'yxat tarjimaga muhtoj bo'lgan belgilar. Masalan, bitta 
tirnoqning har bir paydo bo'lishi (') parametrda ikkita bitta tirnoq bilan 
almashtirilishi kerak ('') haqiqiy SQL mag'lubiyatini yaratish uchun. 
Masalan, ichida PHP funktsiya yordamida parametrlardan qochish odatiy 
holdir mysqli_real_escape_string (); 
SQL so'rovini yuborishdan oldin:
$ mysqli = yangi mysqli("xostname", 'db_username', 'db_password', 
'db_name');$ so'rov = sprintf("SELECT * from Users` WHERE UserName = '% s' 
AND Password = '% s'", $ mysqli->real_escape_string($ 
foydalanuvchi nomi), $ mysqli->real_escape_string($ 
parol));$ mysqli->so'rov($ so'rov);
98 Saxton Street 
(458) 8889-6654 
saxton@wiksun.pt
756 Cross Lane 
(487) 6695-4412 
cross@wiksun.pt
8921 Mayfield Lane
(897) 8955-6548 
mayfield@wiksun.pt
SQL Injection 
dan himoyalanish


Ushbu funktsiya teskari chiziqlarni quyidagi belgilarga o'rnatadi: x00, n, r, \, ', " 
va x1a.Ushbu funktsiya odatda so'rov yuborishdan oldin ma'lumotlarni xavfsiz 
qilish uchun ishlatiladi 
PHP pg_escape_string () kabi boshqa ma'lumotlar bazalari tizimlari uchun 
o'xshash funktsiyalarga ega . Funktsiya qo'shimchalar (string $ str) belgilar 
qochish uchun ishlaydi va ayniqsa PHP da qochish funktsiyalari bo'lmagan 
ma'lumotlar bazalarida so'rovlar uchun ishlatiladi. Ma'lumotlar bazasi 
so'rovlarida qochish kerak bo'lgan belgilar oldidan teskari chiziqli qatorni 
qaytaradi va hokazo. Ushbu belgilar bitta tirnoq ('), ikkita tirnoq ("), teskari 
chiziq () va NUL (NULL bayt).
Qochilgan satrlarni SQL-ga muntazam ravishda uzatish xatoga yo'l qo'yadi, 
chunki berilgan satrdan qochishni unutish oson. Kirishni ta'minlash uchun 
shaffof qatlamni yaratish bu xatolikni kamaytirishi mumkin, agar uni butunlay 
yo'q qilmasa.

Download 1,65 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish