
Plugin Burp pour contourner les WAF grâce à l'insertion de données parasites
La plupart des pare-feu applicatifs web (WAF) ont des limitations quant à la quantité de données qu'ils peuvent traiter lorsqu'un corps de requête est envoyé. Cela signifie que pour les requêtes HTTP contenant un corps (c'est-à-dire POST, PUT, PATCH, etc.), il est généralement possible de contourner le WAF en ajoutant simplement des données factices au début.
Lorsque la requête est remplie avec ces données factices, le WAF traite et analyse jusqu'à X ko de la requête, mais tout ce qui se trouve au-delà des limites du WAF passe directement.
nowafpls est un simple plugin Burp qui insère contextuellement ces données factices dans votre requête HTTP dans l'onglet repeater. Vous pouvez choisir une quantité prédéfinie de données factices à insérer, ou insérer une quantité arbitraire en sélectionnant l'option « Custom ».
Cet outil ne fait qu'environ 80 lignes de Python, il est incroyablement simple mais fonctionne avec la plupart des WAF lol.
nowafpls est un plugin Burp basé sur Jython.
https://github.com/assetnote/nowafpls/assets/5241936/dad77c3a-d550-4e5d-894d-027256137148
nowafpls insère automatiquement les données factices selon le type de requête (URLEncoded/XML/JSON).
La version Caido de ce plugin est maintenue par @Rhynorater et se trouve dans le gist ci-dessous :
https://gist.github.com/Rhynorater/ace68d4976357ca0937cb4669f303306
ou dans la bibliothèque de workflows EvenBetter.
MIT
| Fournisseur de WAF | Taille maximale d'inspection du corps de la requête |
|---|
| Cloudflare | 128 Ko pour le moteur de règles, jusqu'à 500 Mo en entreprise |
| AWS WAF | 8 Ko - 64 Ko (configurable selon le service) |
| Akamai | 8 Ko - 128 Ko |
| Azure WAF | 128 Ko |
| Fortiweb by Fortinet | 100 Mo |
| Barracuda WAF | 64 Ko |
| Sucuri | 10 Mo |
| Radware AppWall | jusqu'à 1 Go pour le WAF cloud |
| F5 BIG-IP WAAP | 20 Mo (configurable) |
| Palo Alto | 10 Mo |
| Cloud Armor by Google | 8 Ko (peut être augmenté à 128 Ko) |