• SQL inektsiyasi. Tekshirish, buzish, himoya qilish
  • Amaliyot. SQL inektsiyasida zaifligi bolgan saytni buzish imkoniyatlari
  • Shuningdek, O’zbekiston Prezidenti 7-fevral kungi farmoni bilan 2017




    Download 67,89 Kb.
    bet22/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

    "LIKE"dagi zaiflik
    LIKE'da faqat bitta zaiflik bor: bu operatordan noto'g'ri foydalanish. Shu bilan birga, hech kim, agar LIKE ishlatilsa, metabelgi bo'lishi kerak deb yozmaydi . Aks holda, LIKE ning ma'nosi yo'q. Ya'ni, bu zaiflik uchun to'g'ri chora % va _ belgilardan qochib qutulish emas, balki bizni aniq moslik qiziqtirgan bu funksiyadan foydalanmaslik - masalan, parolni tekshirish. Hammasi shu.

    SQL in'ektsiyasi. Tekshirish, buzish, himoya qilish



    SQL in'ektsiyasi saytni buzishning eng qulay usullaridan biridir.
    Bunday in'ektsiyalarning mohiyati ma'lumotlarga o'zboshimchalik bilan SQL kodini kiritishdir (GET, POST so'rovlari yoki Cookie qiymatlari orqali uzatiladi). Agar sayt zaif bo'lsa va bunday in'ektsiyalarni amalga oshirsa, unda aslida ma'lumotlar bazasi bilan har qanday narsani yaratish mumkin (ko'pincha bu MySQL) .


    SQL in'ektsiyasiga ruxsat beruvchi zaiflikni qanday topish mumkin?
    Juda oson. Masalan, test.ru test sayti mavjud . Sayt batafsil ko'rish imkoniyati bilan yangiliklar ro'yxatini ko'rsatadi . Yangilikning batafsil tavsifi bilan sahifaning manzili quyidagicha ko'rinadi: test.ru/?detail=1. Ya'ni , GET so'rovi orqali batafsil o'zgaruvchi 1 qiymatidan o'tadi (bu yangiliklar jadvalidagi yozuv identifikatori ).
    GET so'rovi ga o'zgartirilsinmi ?detail=1' yoki ?detail=1" . Keyinchalik, biz ushbu so'rovlarni serverga yuborishga harakat qilamiz, ya'ni test.ru/?detail=1' yoki test.ru/?detail=1".
    Agar ushbu sahifalarga kirishda xatolik yuzaga kelsa, u holda sayt SQL in'ektsiyasiga qarshi himoyasizdir.


    Zaiflikni tekshirishda yuzaga keladigan xatolik misoli

    Mumkin SQL in'ektsiyalari (SQL Injection)
    1. Eng oddiylari har qanday parametr qiymatlari uchun WHERE shartini haqiqiy natijaga katlaydi.


    2) Boshqa so'rov natijalarini so'rovga biriktirish. Bu UNION operatori orqali amalga oshiriladi.


    3) So'rovning bir qismini sharhlash.

    Amaliyot. SQL in'ektsiyasida zaifligi bo'lgan saytni buzish imkoniyatlari

    Shunday qilib, bizda allaqachon aytib o'tilgan test.ru sayti mavjud. Ma'lumotlar bazasida 4 ta yangilik saqlanadi, ulardan 3 tasi ko'rsatiladi. Yangiliklarni nashr qilish uchun ruxsat parametrga bog'liq ommaviy (agar parametr 1 qiymatini o'z ichiga olgan bo'lsa, u holda yangiliklar nashr etiladi).


    E'lon qilishga ruxsat berilgan yangiliklar ro'yxati
    test.ru/?detail=4, sahifasiga kirganingizda bu to'rtinchi yangilikni ko'rsatishi kerak, xato paydo bo'ladi - yangilik topilmadi.

    Bizning holatlarimizda yangiliklar mavjud, ammo uni nashr etish taqiqlanadi.


    Ammo biz allaqachon saytni zaifliklar bor-yo'qligini tekshirganimiz va u ma'lumotlar bazasida xatolik berganligi sababli, biz mumkin bo'lgan so'rov variantlarini saralashga harakat qilmoqdamiz.Manzil satrida ortiqcha (+) bo'sh joy vazifasini bajaradi, shuning uchun qo'rqmang


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




    Download 67,89 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Shuningdek, O’zbekiston Prezidenti 7-fevral kungi farmoni bilan 2017

    Download 67,89 Kb.