ثغرات تضمين الملفات المحلية والبعيدة Local & Remote File Inclusion (LFI - RFI)

Web Application Security | ثغرات إدارة الملفات

ثغرات تضمين الملفات المحلية والبعيدة Local & Remote File Inclusion (LFI / RFI)

Local & Remote File Inclusion (LFI/RFI) & Directory Traversal
نبذة تقنية: فهم مخاطر معالجة مسارات الملفات بطرق غير آمنة وقراءة ملفات النظام الحساسة أو تنفيذ أكواد عن بعد.
🛡️

المحاور الأساسية وخطوات التحصين

🔒 هجمات تجاوز الدلائل (Directory Traversal / Path Traversal)

استخدام تسلسلات `../` للهروب من المجلد الجذري وقراءة ملفات النظام مثل `/etc/passwd` أو `win.ini`.

🔒 تضمين الملفات البعيدة (RFI)

استغلال إعدادات مثل `allow_url_include` في PHP لجلب وتنفيذ ملف نصي خبيث من خادم خارجي.

🔒 طرق الوقاية وتأمين دوال التضمين

استخدام معرّفات رقمية ثابتة للملفات (ID Mapping)، وتجنب تمرير أسماء الملفات عبر المدخلات المباشرة، وتطهير المسارات.

💡 نصيحة وأداة المهندس الأمني: استخدم دوال الأمان القياسية مثل `realpath()` والتحقق من أن المسار الناتج يقع داخل المجلد المسموح به فقط.
⚠️ معايير الأمان والتحذيرات الهندسية:
لا تعتمد أبداً على قيود الواجهة الأمامية (Client-Side) كخط دفاع أمني؛ يجب دائماً التحقق من صحة وتطهير كافة البيانات والتفويض في خادم الويب (Server-Side).

📌 أفضل الممارسات والتوصيات الهندسية:

  • تطبيق مبدأ الصلاحيات الأقل (Principle of Least Privilege) على كافة مستويات التطبيق وقواعد البيانات.
  • ترميز المخرجات المعتمد على السياق واستخدام الاستعلامات المعلمة (Parameterized Queries) لمنع كافة أنواع الحقن.
  • دمج الفحص الأمني التلقائي (SAST & DAST) في خطوط الـ CI/CD لاكتشاف ومعالجة الثغرات مبكراً.