ثغرات تقسيم وتهريب طلبات الـ HTTP (HTTP Request Smuggling & Desync)

Web Application Security | ثغرات معمارية الويب والبروكسي

ثغرات تقسيم وتهريب طلبات الـ HTTP (HTTP Request Smuggling & Desync)

HTTP Request Smuggling: CL.TE & TE.CL Vulnerabilities
نبذة تقنية: كيف يؤدي الاختلاف في تفسير حدود الطلبات بين خوادم الواجهة الأمامية (Frontend) والخلفية (Backend) لاختطاف طلبات المستخدمين.
🛡️

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

🔒 ترويسات `Content-Length` و `Transfer-Encoding`

فهم التناقض الذي ينشأ عندما يفضل أحد الخوادم ترويسة CL بينما يعتمد الخادم الآخر على TE.

🔒 أنواع الهجمات (CL.TE, TE.CL, TE.TE)

تهريب طلب خبيث داخل مسار الطلب الأول ليعالجه الخادم الخلفي كأنه بداية طلب المستخدم التالي.

🔒 الآثار الخطيرة والحلول الجذرية

سرقة بيانات جلسات الزوار الآخرين وتسميم ذاكرة التخزين المؤقت (Web Cache Poisoning)، والحل بالاعتماد على HTTP/2 من البداية للنهاية.

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

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

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