- بواسطة x32x01 ||
Directory Traversal وSSRF: شرح الهجمات وكيفية الحماية
في عالم الأمن السيبراني، هجمات Directory Traversal وServer-Side Request Forgery (SSRF) من أخطر أنواع هجمات استغلال الثغرات في تطبيقات الويب. البوست ده هيشرح إيه هي الثغرتين، إزاي بيتم استغلالهما، الفرق بينهم، ونصايح للحماية.إيه هي Directory Traversal؟
Directory Traversal (أو Path Traversal) هي هجوم يستغل ضعف التحقق من مسارات الملفات في تطبيقات الويب. المهاجم بيحاول يوصل لملفات أو مجلدات خارج المسار المسموح بيه عن طريق استخدام أوامر زي ../ (للرجوع لمجلد أعلى).إزاي بتحصل؟
- التطبيق بيسمح للمستخدم إنه يدخّل مسار ملف (زي
file=example.txt) بدون التحقق من المسار. - المهاجم بيستغل ده بإدخال مسارات زي
../../etc/passwdعشان يوصل لملفات حساسة. - مثال: لو التطبيق بيقرأ ملفات من مجلد
/var/www/files/، المهاجم ممكن يدخّل../../etc/shadowللوصول لملفات النظام.
الآثار السلبية
- الوصول لملفات حساسة زي
/etc/passwdأو ملفات إعدادات السيرفر. - تشغيل كود خبيث إذا كان الملف المستهدف يحتوي على Shellcode.
- تعطيل التطبيق أو سرقة بيانات حساسة.
إيه هي Server-Side Request Forgery (SSRF)؟
SSRF هي هجوم يستغل ثغرة في تطبيق ويب تسمح للمهاجم بإجبار السيرفر على إرسال طلبات غير مصرح بها إلى مصادر داخلية أو خارجية.إزاي بتحصل؟
- التطبيق بيسمح للمستخدم بإدخال روابط URL (زي
http://example.com) بدون التحقق منها. - المهاجم بيستغل ده عشان يخلّي السيرفر يبعت طلبات لموارد داخلية (زي
http://localhost/admin) أو خارجية (زيhttp://attacker.com). - مثال: لو التطبيق بيسمح بجلب صورة من URL، المهاجم ممكن يدخّل
http://10.0.0.1:8080للوصول لسيرفر داخلي.
الآثار السلبية
- الوصول لموارد الشبكة الداخلية (زي قواعد بيانات أو لوحة تحكم إدارية).
- سرقة بيانات حساسة أو اختراق أنظمة داخلية.
- استغلال ثغرات أخرى في الشبكة الداخلية.
- تنفيذ هجمات Denial of Service (DoS) عن طريق إغراق سيرفر داخلي.
الفرق بين Directory Traversal وSSRF
| المعيار | Directory Traversal | SSRF |
|---|---|---|
| التكيف | يستغل ضعف التحقق من مسارات الملفات للوصول إلى ملفات غير مصرح بها. | يستغل ثغرات في طلبات السيرفر لتوجيه طلبات إلى موارد غير مصرح بها. |
| التأثير | الوصول لملفات حساسة أو تنفيذ كود خبيث. | اختراق الشبكة الداخلية أو سرقة بيانات حساسة. |
| النطاق | يستهدف تطبيقات الويب ذات التحقق الضعيف للمسارات. | يستهدف تطبيقات تسمح بإدخال روابط URL أو طلبات شبكة. |
| الآثار السلبية | الوصول غير المصرح به إلى ملفات ومجلدات. | اختراق الشبكة الداخلية أو استغلال موارد داخلية/خارجية. |
أمثلة عملية
Directory Traversal
- التطبيق:
http://example.com/getfile?file=user.txt - الهجوم:
http://example.com/getfile?file=../../etc/passwd - النتيجة: المهاجم بيقرأ ملف
/etc/passwdاللي فيه بيانات مستخدمي النظام.
SSRF
- التطبيق:
http://example.com/fetch?url=http://external.com - الهجوم:
http://example.com/fetch?url=http://localhost:8080/admin - النتيجة: المهاجم بيوصل للوحة تحكم داخلية غير متاحة للعامة.
نصايح للحماية من Directory Traversal وSSRF
عشان تحمي تطبيقاتك وشبكتك من الثغرتين:- لـ Directory Traversal:
- نظّف المدخلات (Input Sanitization): استخدم مكتبات زي
path.normalize()في Node.js لمنع../. - حدّد المسارات المسموح بها: استخدم قائمة بيضاء (Whitelist) للملفات المسموح بيها.
- قلّل الصلاحيات: شغّل التطبيق بصلاحيات محدودة مش Root أو Admin.
- استخدم أدوات فحص: زي OWASP ZAP للكشف عن الثغرات.
- نظّف المدخلات (Input Sanitization): استخدم مكتبات زي
- لـ SSRF:
- تحقق من الـ URLs: استخدم قائمة بيضاء للموارد المسموح بيها (زي
example.comبس). - امنع الطلبات الداخلية: حظر عناوين زي
localhostأو10.0.0.0/8. - استخدم Firewall: فعّل Web Application Firewall (WAF) زي Cloudflare.
- حدّث الأنظمة: ركّب آخر تحديثات الأمان لسد الثغرات.
- تحقق من الـ URLs: استخدم قائمة بيضاء للموارد المسموح بيها (زي
- نصايح عامة:
- راقب السجلات: استخدم أدوات زي
Splunkأو ELK Stack لرصد محاولات الهجوم. - اختبر تطبيقاتك: استخدم أدوات زي Nessus أو
Burp Suite. - للهكرز الأخلاقيين: جرب الثغرات في بيئات معزولة زي Hack The Box أو TryHackMe.
- راقب السجلات: استخدم أدوات زي
خلّصنا.. ابدأ رحلتك في الأمن السيبراني!
Directory Traversal وSSRF من أخطر ثغرات تطبيقات الويب، وبتسمح للمهاجمين بالوصول لملفات أو موارد غير مصرح بها. لو عايز تبقى هاكر أخلاقي، اتعلم إزاي تكتشف الثغرات دي في بيئة آمنة زي Kali Linux. تابع منتديات اكتب كود لشروحات جديدة عن Cybersecurity وPenetration Testing كل أسبوع! التعديل الأخير: