
Plugin de Burp para Evadir WAFs mediante la inserción de Datos Basura
La mayoría de los firewalls de aplicaciones web (WAF) tienen limitaciones en cuanto a la cantidad de datos que pueden procesar cuando se envía el cuerpo de una solicitud. Esto significa que, en las solicitudes HTTP que contienen un cuerpo (es decir, POST, PUT, PATCH, etc.), normalmente es posible evadir el WAF simplemente anteponiendo datos basura.
Cuando la solicitud se rellena con estos datos basura, el WAF procesará hasta X kb de la solicitud y la analizará, pero todo lo que esté después del límite del WAF pasará directamente.
nowafpls es un plugin sencillo de Burp que inserta contextualmente esos datos basura en tu solicitud HTTP dentro de la pestaña Repeater. Puedes elegir una cantidad predefinida de datos basura para insertar, o insertar una cantidad arbitraria seleccionando la opción "Custom".
Esta herramienta tiene solo unas 80 líneas de Python; es increíblemente simple, pero funciona con la mayoría de los WAF lol.
nowafpls es un plugin de Burp basado en Jython.
https://github.com/assetnote/nowafpls/assets/5241936/dad77c3a-d550-4e5d-894d-027256137148
nowafpls insertará datos basura automáticamente según el tipo de solicitud (URLEncoded/XML/JSON).
La versión para Caido de este plugin es mantenida por @Rhynorater y se puede encontrar en el siguiente gist:
https://gist.github.com/Rhynorater/ace68d4976357ca0937cb4669f303306
o en la EvenBetter Workflow Library.
MIT
| Proveedor de WAF | Límite máximo de inspección del cuerpo de la solicitud |
|---|
| Cloudflare | 128 KB para el motor de reglas, hasta 500 MB para empresas |
| AWS WAF | 8 KB - 64 KB (configurable según el servicio) |
| Akamai | 8 KB - 128 KB |
| Azure WAF | 128 KB |
| Fortiweb de Fortinet | 100 MB |
| Barracuda WAF | 64 KB |
| Sucuri | 10 MB |
| Radware AppWall | hasta 1 GB para WAF en la nube |
| F5 BIG-IP WAAP | 20 MB (configurable) |
| Palo Alto | 10 MB |
| Cloud Armor de Google | 8 KB (puede aumentarse a 128 KB) |