Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Imperva_gzip_WAF_Bypass — Exploit pour le contournement d'Imperva Cloud WAF utilisant l'en-tête Content-Encoding gzip pour éviter les règles WAF sur les requêtes HTTP POST. Comprend un script de détection et des étapes de test manuelles. | Kitploit
Outils/GitHubGitHub/bishopfox/imperva_gzip_waf_bypass
Analyse des VulnérabilitésÉvasion IDS/IPSExploitation d'Applications WebContournement de WAFTests d'Intrusion
GitHubbishopfox/imperva_gzip_waf_bypass

Imperva_gzip_WAF_Bypass

Exploit pour le contournement d'Imperva Cloud WAF utilisant l'en-tête Content-Encoding gzip pour éviter les règles WAF sur les requêtes HTTP POST. Comprend un script de détection et des étapes de test manuelles.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
16829il y a 4 ansVérifié par Kitploit

Contournement des requêtes POST du WAF (Web Application Firewall) Imperva

Le Cloud WAF d'Imperva était vulnérable à un contournement permettant aux attaquants d'échapper aux règles du WAF lors de l'envoi de charges utiles HTTP POST malveillantes, telles que des exploits log4j, des injections SQL, l'exécution de commandes, la traversée de répertoires, XXE, etc.

Remédiation

L'équipe Imperva a pris cela très au sérieux dès la minute où cela leur a été signalé, et elle a mis au point un correctif mondial en seulement quelques jours. Bravo. Tous les clients du Cloud WAF sont automatiquement patchés à compter du 22 décembre 2021. Imperva a été un partenaire formidable et possède clairement une équipe de sécurité mature, compétente et capable.

Pour l'exploiter

Ajoutez l'en-tête Content-Encoding: gzip aux requêtes HTTP POST. Laissez les données POST telles quelles. Ne les encodez pas. Tant que les quatre premiers octets de l'en-tête Content-Encoding sont gzip, aucune règle du WAF ne sera appliquée aux requêtes POST.

Vous pouvez le faire dans Burp en utilisant la fonctionnalité Match & Replace du proxy :

Ajoutez un nouvel en-tête comme ceci :

Et voilà, vous êtes prêt.

Exécution du script de test

Exécutez imperva_gzip.py contre une URL qui accepte les requêtes POST comme ceci :

Syntaxe : ./imperva_gzip.py [[-t] | [-r]] URL

Détectez le type de WAF pour une URL donnée :

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

Vérifiez si le WAF est vulnérable au contournement 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

Si vous obtenez cette erreur :

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

essayez alors de passer -r en ligne de commande pour activer le mode relaxed. Le mode relaxed est désactivé par défaut, ce qui signifie qu'une requête POST est censée obtenir une réponse HTTP 200 du serveur. -r élargit les réponses acceptables aux HTTP 2xx, 3xx.

Script

Les codes de sortie de imperva_gzip.py sont les suivants :

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.

Processus de test manuel de la vulnérabilité

Envoyez trois requêtes POST :

  1. Établissez une requête/réponse POST de référence avec une requête POST valide mais inoffensive
  2. Déclenchez le WAF Imperva en utilisant la même requête POST, mais avec des données « malveillantes » supplémentaires telles que &test=../../../../../../../etc/shadow dans le corps, pour vérifier qu'Imperva la bloque
  3. Ajoutez l'en-tête Content-Encoding: gzip à la même requête malveillante et vérifiez qu'Imperva ne la bloque pas

Autres encodages

Selon https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding, il existe quatre valeurs valides pour l'en-tête Content-Encoding :

  • compress
  • deflate
  • gzip
  • br

Lors des tests, seul gzip a fonctionné comme contournement.

Versions concernées

Imperva Cloud WAF

Le Cloud WAF est géré par Imperva. Par conséquent, les mises à jour du Cloud WAF affectent presque tous les clients presque en même temps. Il est corrigé pour tous les clients à compter du 22 décembre 2021.

SecureSphere

Le bug de contournement gzip a été corrigé dans un autre produit Imperva appelé SecureSphere. Les notes de version de SecureSphere v12.6 contiennent ce paragraphe :

SPHR-58185 : Lorsque SecureSphere ne parvenait pas à décompresser le corps des requêtes POST avec l'en-tête « Content-Encoding: gzip/deflate », il n'émettait aucune alerte et laissait passer la requête.

Je suis à peu près sûr qu'il s'agit du même bug, peut-être avec le même héritage de code que le Cloud WAF... c'est un bug assez spécifique pour se trouver dans deux produits. Le problème a été résolu pour SecureSphere en février 2021, mais nous ne savons pas quand il a été introduit. Il est possible que la vulnérabilité existe depuis des années !

Contact

Bishop Fox

  • Auteur : @carllivitt @bishopfox
  • Sécurité offensive : Bishop Fox
  • Sécurité offensive continue : Bishop Fox Cosmos
  • Savants fous : Bishop Fox Labs

Imperva

Support client Imperva : https://www.imperva.com/support/technical-support/

Références

  • Imperva Cloud WAF
  • Notes de version de SecureSphere 12.6
  • En-tête HTTP Content-Encoding
Télécharger l’outil