سعود أبوشيبه
سعود أبوشيبه

@_SaudSubaie

8 تغريدة 3,792 قراءة Aug 21, 2020
بتكلم عن ثغرة SQL Injection الخطيرة بشكل مبسط
ماهي SQL ؟
هي لغة التعامل مع قواعد البيانات ،
وتعرف SQL Injection بأنها ثغرة خطيرة تكون في المواقع اللي تتعامل مع Database
تحدث عندما لايكون هنالك فلترة للمدخلات ( sanitize ) بحيث يستطيع المهاجم حقن بيانات خبيثه في التطبيق
وإرسال Query لـ Database وجلب المعلومات
بحيث يستطيع مخاطبة قواعد البيانات وانتظار الرد .
وتصنف من الثغرات عالية الخطورة critical
أنواع SQL Injection
1-In-band SQLi
* Error-Based
وهذه تحدث عندما ترسل query خاطئه وتنظر رد قواعد البيانات ويكون الرد بأن هناك خطأ وبالتالي نكتشف ان الموقع مصاب بالثغره
* أمثله على طرق أرسال query خاطئه ' أو )' أو 'or' أو 'AND'
يوجد هناك تخطيات كثيره تستطيع من خلالها تجاوز عمليات الفلتره
*Union-based
عندما يكون الموقع مصاب SQL ويتم إرجاع نتائج الاستعلام دون رد بالخطأ ،يمكن استخدام الكلمة الأساسية UNION or SELECT لاسترداد البيانات من جداول أخرى داخل قاعدة البيانات.
ولكن يوجد شرطان لابد من تحقيقها لاسترداد البيانات
- أولا معرفة عدد الأعمدة المصابة والتي من خلالها
تم الرد من خلال استخدام order by 1 وتضع الارقام تصاعديا إلى أن تصلك رسالة خطأ وهنا نعرف ان اخر عمود مصاب هو ماقبل الخطأ
- ثانيا تستخدم كلمات في الأعمده المصابه لها وظائف معينه مثل :
- user() | تجلب لك users DB
- database() | تجلب لك name DB
- @@version |تجلب لك اصدار DB
بعد معرفتنا لهذه الكلمات ووظائفها نستطيع استخدامها في الأعمدة المصابه مثال : لدينا 5 اعمدة مصابه
=null union select 1,2,3,user(),5
نلاحظ هنا نريد جلب users واستخدمنا العمود رقم 4
وهنا مثال يريد جلب الاصدار
2-Blind SQL
*Boolean based SQLI
اذا كان الموقع مصاب بهذا النوع .. عندما ترسل له query معينه يتم الرد عليك ب True or False وتستطيع تخمين اسم قاعدة البيانات من خلال الرد
2'AND Substring(database(),1,1)='a'#'
هنا تضع بعد علامة = الحروف لكي تستطيع التخمين
*Time-Based
اذا لم يكن هناك رسالة خطأ او ردود تستطيع التخمين من خلالها فقد تكون مصابه بهذا النوع بحيث تستطيع ارسال query يتم من خلالها توقف قاعدة البيانات مؤقتا لفترة محدده
'2'AND sleep(5)#
3-out-of-band sqli
وهو نوع نادر حصوله ويصعب على المهاجم التحكم في قواعد البيانات ومعقد.

جاري تحميل الاقتراحات...