• Misolni ichkaridan tahlil qilish
  • SQL inektsiyalaridan himoya qilish (SQL inektsiyalari)
  • Men quyidagi variantlarni sinab ko'raman




    Download 67,89 Kb.
    bet23/24
    Sana20.05.2024
    Hajmi67,89 Kb.
    #246484
    1   ...   16   17   18   19   20   21   22   23   24
    Bog'liq
    Shuningdek, O’zbekiston Prezidenti 7-fevral kungi farmoni bilan -hozir.org

    Men 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.

    Misolni ichkaridan tahlil qilish

    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.




    Download 67,89 Kb.
    1   ...   16   17   18   19   20   21   22   23   24




    Download 67,89 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Men quyidagi variantlarni sinab ko'raman

    Download 67,89 Kb.