• بواسطة x32x01 ||
شرح طريقة أكتشاف ثغرة SQL Injection
a3IvrVg.jpg
مثال عملي لاكتشاف ثغرة SQL Injection
لنفرض أن هناك موقع تسوق يعرض منتجات مختلفة
وافرض أنك قمت بالضغط على معرض الهدايا وتم عرض هذا الرابط
Code:
https://website.com/products?category=Gifts
في هذه الحاله يقوم التطبيق (الموقع الإلكتروني ) بعملية استعلام من قاعدة البيانان لاسترجاع النتائج التي قمت باختيارها .
Code:
SELECT * FROM products WHERE category = 'Gifts' AND released = 1
ال SQL guery يطلب من قاعدة البيانات:
• all details (*)
• from the products table
• where the category is Gifts
• and released is 1.
تم إصدار القيد = 1 ويتم استخدامه لإخفاء المنتجات التي لم يتم إصدارها من قاعدةالبيانات.
بالنسبة للمنتجات التي لم يتم طرحها ، يُفترض أنه تم إصدارها = 0.
وفي هذا المثال التطبيق لا يحتوي على دفاعات ضد هجمات SQL Injection, ويمكن للمهاجم إنشاء هجوم كالآتي:
Code:
https://website.com/products?category=Gifts'--
تكون نتيحة الاستعلام:
Code:
SELECT * FROM products WHERE category = 'Gifts'--' AND released = 1
المهاجم استخدم الشرطة المزدوجة - - وهو مؤشر تعليق في SQL، ويعني أن باقي الاستعلام يتم تفسيره على أنه تعليق.
و يؤدي هذا إلى إزالة ما تبقى من الاستعلام بشكل فعال.
وهذا يعني أنه سوف يتم عرض جميع المنتجات ، بما في ذلك المنتجات التي لم يتم طرحها.
وفي هذه الحاله يمكن للمهاجم أن يتسبب في عرض جميع المنتجات في أي فئة ، بما في ذلك الفئات التي لا يعرفون عنها:
Code:
https://website.com/products?category=Gifts'+OR+1=1--
النتيجة في كود sql للاستعلام تكون
Code:
SELECT * FROM products WHERE category = 'Gifts' OR 1=1--' AND released = 1
سيعيد الاستعلام المعدل في الرابط الخاص بالموقع جميع العناصر حيث تكون الفئة هدايا ، أو 1 تساوي 1. نظرًا لأن 1 = 1 تكون دائمًا صحيحة ، فسيعيد الاستعلام جميع العناصر.
هكذا يتم استغلال المواقع المصابة بثغرة SQL Injection
هذا المثال فقط للتوضيح ويمكن استخدامه لعرض ملفات حساسة او خاصة بالمستخدمين، ولا ننسى أن هناك أنواع كثيرة من هذه الثغرات وبعض الأحيان يكون المبرمج قد أصلح هذا الخطأ ببعض الأكواد وأحيانا يستطيع المهاجم تمرير هجومة بطريقة جديدة.
Automation Tools for SQL Injection
في المثال أعلاه ، استخدمنا تقنيات الهجوم اليدوي بناءً على معرفتنا الواسعة بـ SQL.
هناك أدوات آلية يمكنها مساعدتك في تنفيذ الهجمات بكفاءة أكبر وفي أقصر وقت ممكن. وتشمل هذه الأدوات
SQLMap
http://sqlmap.org
SQL Injection
https://tools.kali.org/vulnerability-analysis/jsql
لا يمكنك معرفة المواقع المصابة وعرض البيانات الا عن طريق المحاولة عدة مرات وبطرق مختلفة يدويا أو عن طريق الأدوات المساعدة.

يمكنك استخدام ال quote او الشرطة المزدوجة -- أو Union selcet على نهاية الرابط المراد فصحة ومتابعة سلوك التطبيق غير المتوقع أو اي نتائج تظهر على الموقع.
وبالطبع يوجد الكثير والكثير من الشرح والفيديوهات لهذا الثغرة هنا فقط فى منتديات أكتب كود
 

المشاركات المتشابهة

الردود
0
المشاهدات
10
الردود
0
المشاهدات
9
الردود
0
المشاهدات
19
الردود
0
المشاهدات
10
الردود
0
المشاهدات
11
الوسوم : الوسوم
sql injection أختراق المواقع أكتشاف الثغرات تعلم أختراق المواقع تعلم أكتشاف الثغرات ثغرة sql injection
عودة
أعلى