|
Men quyidagi variantlarni sinab ko'raman
|
bet | 23/24 | Sana | 20.05.2024 | Hajmi | 67,89 Kb. | | #246484 |
Bog'liq Shuningdek, O’zbekiston Prezidenti 7-fevral kungi farmoni bilan -hozir.orgMen quyidagi variantlarni sinab ko'raman:
test.ru/?detail=4+OR+1
test.ru/?detail=4+--
test.ru/?detail=4+UNION+SELECT+ *+ FROM+news+WHERE+id =4
Natijada omad kulib boqdi va ikkita so'rov (birinchi va uchinchi) bizga to'rtinchi yangilikning batafsil tavsifini qaytardi.
Kod bloki yangiliklarning batafsil tavsifini olish uchun javobgardir:
$detail_id=$_GET['detail'];
$zapros="SELECT * FROM `$table_news` WHERE `public`='1' AND `id`=$detail_id ORDER BY `position` DESC";
Faqat $ detail_id hech qanday ishlovsiz qiymat oladi, balki konstruksiya ` id `=$ detail_id qiyshiq yozilgan, ` id `='$ detail_id ' bo‘yicha ketgan ma'qul ( ya'ni solishtirilgan qiymatni to'g'ridan-to'g'ri apostroflarda yozing) .
test.ru/?detail=4+OR+1 orqali sahifaga kirishda olingan so‘rovga qaraganda
SELECT * FROM `news` WHERE `public`='1' AND `id`=4 OR 1 ORDER BY `position` DESC
4-yangilik nima uchun ko`rsatilgani to`liq aniq emas. Gap shundaki, so'rov yuqoridan kamayish tartibida saralangan yangiliklar jadvalidagi barcha yozuvlarni qaytardi. Shunday qilib, bizning 4-xabarimiz birinchi bo'lib chiqdi va u ham batafsil ko'rsatildi. Ya'ni shunchaki tasodif.
test.ru/?detail=4+UNION+SELECT+*+FROM+news+WHERE+id=4. orqali kirishda yaratilgan so'rovni tahlil qilamiz.
Bu erda yangiliklar bilan jadvalning nomi (bizning holimizda bu yangilik ) mantiqiy sanab o'tilgan.
Shunday qilib so`rov bajarildi _ iltimos * SELECT * FROM `news` WHERE `public`='1' AND `id`=4 UNION SELECT * FROM news WHERE id=4 ORDER BY `position` DESC.. So'rovning birinchi qismining nol natijasi (UNIONdan oldin) ikkinchi qismning natijasi (UNIONdan keyin) bilan qo'shildi, bu esa 4-yangilikning batafsil tavsifini qaytardi.
SQL in'ektsiyalaridan himoya qilish (SQL in'ektsiyalari)
Buzg'unchilikdan himoyalanish "ishon, lekin takshir" asosiy qoidasiga to'g'ri keladi. Siz hamma narsani tekshirishingiz kerak - raqamlar, satrlar, sanalar, maxsus formatlardagi ma'lumotlar.
|
| |