← أحدث الأبحاث
💻 computer science

WAFFLED: Exploiting Parsing Discrepancies to Bypass Web Application Firewalls

تقدم هذه الورقة البحثية "WAFFLED"، وهو نهج مبتكر يستغل التباينات في تحليل طلبات HTTP لتجاوز خمسة جدران حماية رئيسية لتطبيقات الويب، مع التحقق من الطبيعة واسعة النطاق لهذه الثغرة من خلال دراسة واسعة النطاق واقتراح "HTTP-Normalizer" كأداة تخفيف فعالة.

المؤلفون الأصليون: Seyed Ali Akhavani, Bahruz Jabiyev, Ben Kallus, Cem Topcuoglu, Sergey Bratus, Engin Kirda

نُشر 2026-03-17
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Seyed Ali Akhavani, Bahruz Jabiyev, Ben Kallus, Cem Topcuoglu, Sergey Bratus, Engin Kirda

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل خزنة بنك عالية التأمين (تطبيق الويب) يحرسها عند الباب حارس أمن صارم للغاية وملتزم بالقواعد (جدار حماية تطبيقات الويب، أو WAF). مهمة الحارس هي فحص الهويات والحقائب. إذا رأى سلاحاً (هجوماً خبيثاً مثل حقن SQL أو XSS)، فإنه يوقف الشخص فوراً.

لسنوات، حاول القراصنة خداع هذا الحارس عن طريق إخفاء الأسلحة داخل صناديق تبدو بريئة أو تمويهها كأدوات غير ضارة. لقد أصبح الحارس بارعاً جداً في كشف هذه الخدع.

لكن الباحثين في هذه الورقة البحثية، WAFFLED، اكتشفوا طريقة جديدة وماكرة لتجاوز الحارس. لم يحاولوا إخفاء السلاح؛ بل استغلوا خللاً في التواصل بين الحارس ومدير الخزنة.

المشكلة الجوهرية: "قال هو، وقالت هي"

تخيل أن الحارس ومدير الخزنة يتحدثان لهجات مختلفة قليلاً من نفس اللغة.

  • الحارس (WAF) يقرأ طرداً ويفكر: "هذا يبدو آمناً. الملصق يقول 'زهور'".
  • المدير (خادم الويب) يقرأ نفس الطرد ويفكر: "انتظر، إذا تجاهلت تلك البقعة الغريبة على الملصق، فهذا في الواقع قنبلة!"

يسمح الحارس بمرور الطرد لأنه يعتقد أنه آمن. أما المدير فيفتحه فينفجر بسبب سوء التفسير.

في العالم الرقمي، يحدث هذا بسبب تفاوتات التحليل (Parsing Discrepancies). عندما يستقبل جهاز كمبيوتر حزمة بيانات معقدة (مثل نموذج يحتوي على ملفات، أو XML، أو JSON)، يمكن للبرمجيات المختلفة (WAF مقابل خادم الويب) أن تفسر "قواعد" هذه البيانات بشكل مختلف قليلاً.

استراتيجية "Waffled": القائمة المربكة

اختبر الباحثون هذا على خمسة حراس أمن رئيسيين (Cloudflare, AWS, Azure, Google Cloud Armor, ModSecurity) وسبعة مديري خزنات مختلفين (أطر عمل ويب شهيرة مثل Flask, Spring Boot, Laravel).

ركزوا على ثلاثة أنواع شائعة من "الطرود":

  1. Multipart/Form-Data: مثل صندوق غداء يحتوي على عدة مقصورات (ملفات، نصوص، إلخ).
  2. XML: وثيقة منظمة ذات وسوم (Tags)، مثل كتاب وصفات الطعام.
  3. JSON: قائمة بسيطة من أزواج البيانات، مثل قائمة تسوق.

الخدعة:
بدلاً من تغيير السلاح، قاموا بتغيير تعليمات التغليف بطرق صغيرة ومربكة لا يفهمها إلا الحارس.

  • خطأ "الحد الفاصل" (Boundary): في نماذج الـ multipart، تُفصل العناصر بواسطة "حدود" (مثل الفواصل في صندوق الغداء). أضاف الباحثون فاصلاً وهمياً أو حرفاً غريباً (مثل مسافة مخفية أو صفر) تجاهله الحارس، ظناً منه أن صندوق الغداء فارغ أو آمن. لكن المدير رأى الفاصل المخفي وفتح المقصورة التي تحتوي على السلاح.
  • ارتباك "حالة الأحرف": قاموا بتغيير رأس (Header) من Content-Type إلى Content-type أو أضافوا حرف جدولة (Tab). كتاب قواعد الحارس يقول: "إذا لم يكن 'Content-Type' تماماً، فتجاهله". بينما كتاب قواعد المدير يقول: "كن مرناً، لا يزال هذا هو 'Content-Type'".
  • كذبة "السطر الجديد": قاموا بإزالة سطر جديد كان الحارس يتوقعه ليعرف أين تنتهي التعليمات. اعتقد الحارس أن التعليمات لا تزال نصاً آمناً؛ لكن المدير أدرك أن التعليمات قد بدأت بالفعل في وقت سابق وأنها تحتوي على أمر لتنفيذ الهجوم.

النتائج: اختراق هائل

كانت النتائج صادمة.

  • وجدوا 1,207 طريقة مختلفة لخداع هؤلاء الحراس.
  • اختبروا ذلك على 100 موقع ويب حقيقي (مثل صفحات "نسيت كلمة المرور").
  • 90% من المواقع قبلت التغليف المربك. إذا أرسل قرصان نموذج "multipart" إلى موقع يتوقع عادةً نموذجاً "قياسياً"، فإن الموقع يقبله على أي حال. وهذا يعني أن خدع الباحثين تعمل في كل مكان تقريباً.

الحل: "المترجم العالمي"

لم يكتفِ الباحثون بالإشارة إلى المشكلة؛ بل بنوا حلاً يسمى HTTP-Normalizer.

تخيل هذا كـ مترجم عالمي أو آلة تغليف معيارية توضع مباشرة قبل الحارس.

  1. الآلة تأخذ أي طرد وارد.
  2. تتبع بصرامة "كتاب القواعد" الرسمي (معايير RFC) لإعادة تغليف كل شيء بشكل مثالي.
  3. تزيل جميع البقع الغريبة، والمسافات الزائدة، والتعليمات المربكة.
  4. تسلم الحارس طرداً نظيفاً ومعيارياً تماماً.

الآن، الحارس والمدير ينظران إلى نفس الطرد تماماً. إذا كان الطرد يحتوي على سلاح، فسيراه الحارس ويوقفه. وإذا كان آمناً، فسيُسمح بمروره. لقد انتهى ارتباك "قال هو، وقالت هي".

لماذا هذا مهم؟

  • الأمر لا يتعلق بالإخفاء: لم تعد بحاجة لتكون مبرمجاً عبقرياً لإخفاء السلاح؛ كل ما تحتاه هو معرفة كيفية إرباك قواعد الحارس.
  • إنه منتشر في كل مكان: بما أن 90% من مواقع الويب تقبل هذه التنسيقات المربكة، فإن هذه الثغرة تؤثر على الإنترنت بأكمله تقريباً.
  • الحل بسيط: إذا التزمت شركات الأمن (WAFs) ومطورو المواقع بقواعد اللغة الرسمية بصرامة، فستختفي هذه الهجمات.

باختصار، تظهر الورقة أن حراس الأمن غالباً ما يكونون مرنين للغاية في قواعدهم، بينما الأشخاص داخل المبنى مرنون أيضاً في قواعدهم. ومن خلال إجبار الجميع على التحدث بنفس اللغة الصارمة والموحدة، يمكننا إيقاف هذه الهجمات في مسارها.

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →