• Tayyorgarlik
  • Raqamli kiritish parametri Amaliyot uchun bizga index1.php
  • SQL (Injection) in'ektsiyasi nima?




    Download 67,89 Kb.
    bet2/24
    Sana20.05.2024
    Hajmi67,89 Kb.
    #246484
    1   2   3   4   5   6   7   8   9   ...   24
    Bog'liq
    Shuningdek, O’zbekiston Prezidenti 7-fevral kungi farmoni bilan -hozir.org

    SQL (Injection) in'ektsiyasi nima?
    Oddiy qilib aytganda, bu ma'lumotlar bazasiga hujum bo'lib, u sizga skript yaratuvchisi tomonidan rejalashtirilmagan ba'zi harakatlarni bajarishga imkon beradi.
    Hayotiy misol:
    Ota onasiga Murodga 10000 so`m berishini va stolga qo'yishini yozgan. Uni kulgili SQL tiliga qayta ishlagandan so'ng, biz quyidagilarni olamiz:
    HAMYONDAN 10000 SO`M OLING VA ULARNI MURODGA BERING
    Otasi yozuvni yomon yozganligi sababli (qo'pol qo'l yozuvi) va stolga qo'yib yuborganligi sababli, Murodning ukasi Umar buni ko'rdi. Umar xaker bo'lib, u erga "YOKI UMAR" ni qo'shib qo'ydi va natijada quyidagi so'rov paydo bo'ldi:
    HAMYONDAN 10000 SO`M OLING VA ULARNI MURODGA
    YOKI UMARGA BERING
    Ona eslatmani o'qib chiqib, kecha Murodga 10000 so`m pul bergan edi va Umarga 10000 so`m berishni qaror qildi. Mana, real hayotdan oddiy SQL in'ektsiyasi misoli. Ma'lumotlarni filtrlashsiz (ona qo'l yozuvini zo'rg'a aniqlay olardi), Umar foyda ko'rdi.


    Tayyorgarlik
    Amaliyot uchun sizga ushbu maqolaning manba skriptlari bilan arxiv kerak bo'ladi. Uni yuklab oling va uni serverda oching. Shuningdek, ma'lumotlar bazasini import qiling va cfg.php faylida ma'lumotlarni o'rnating


    SQL in'ektsion qidiruvi
    Siz allaqachon tushunganingizdek, in'ektsiya filtrlanmagan kiruvchi ma'lumotlardan keladi. Eng keng tarqalgan xato - bu o'tkazilgan identifikatorni filtrlamaslik. Xo'sh, qo'pol qilib aytganda, barcha sohalarda qo`shtirnoqlarni almashtiring. Bu GET/POST so'rovi yoki hatto Cookie bo'lsin!
    Raqamli kiritish parametri
    Amaliyot uchun bizga index1.php skripti kerak . Yuqorida aytganimdek, biz yangiliklar identifikatorida qo`shtirnoqlarni almashtiramiz.
    sqlinj /index1.php?id=1 '
    Chunki Bizning so'rovimizda filtr yo'q:
    $id = $_GET['id'];
    $query = "SELECT * FROM news WHERE id=$id";
    Skript buni shunday tushunadi
    SELECT * FROM news WHERE id=1'
    va quyidagi hatoni chiqaradi:

    Download 67,89 Kb.
    1   2   3   4   5   6   7   8   9   ...   24




    Download 67,89 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    SQL (Injection) in'ektsiyasi nima?

    Download 67,89 Kb.