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 un body request. Esto significa que, para las peticiones HTTP que contienen este cuerpo (es decir, POST, PUT, PATCH, etc.), generalmente es posible bypassear el WAF simplemente anteponiendo datos basura o junk.
Cuando la solicitud se rellena con estos datos basura, el WAF procesará hasta X kb de la solicitud y los analizará, pero todo lo que esté después de los límites del WAF pasará directamente.
nowafpls es un plugin Burp sencillo (sólo 80 líneas de código Python) que insertará contextualmente estos datos basura en la petición HTTP dentro de la pestaña del repeater. Se puede seleccionar una cantidad preestablecida de datos basura que se quieran insertar, o puede insertar una cantidad arbitraria de datos basura seleccionando la opción "Custom".
Limitaciones WAF documentadas
WAF Provider | Maximum Request Body Inspection Size Limit |
---|---|
Cloudflare | 128 KB for ruleset engine, up to 500 MB for enterprise |
AWS WAF | 8 KB - 64 KB (configurable depending on service) |
Akamai | 8 KB - 128 KB |
Azure WAF | 128 KB |
Fortiweb by Fortinet | 100 MB |
Barracuda WAF | 64 KB |
Sucuri | 10 MB |
Radware AppWall | up to 1 GB for cloud WAF |
F5 BIG-IP WAAP | 20 MB (configurable) |
Palo Alto | 10 MB |
Cloud Armor by Google | 8 KB (can be increased to 128 KB) |
Uso:
- Envía cualquier petición a la pestaña de "Repeater" que quieras usar para bypassear el WAF.
- Coloca el cursor en el lugar donde deseas insertar datos basura.
- Haz clic derecho -> Extensiones -> nowafpls
- Selecciona la cantidad de datos basura que deseas insertar
- Haz clic en "OK"
nowafpls insertará automáticamente los datos basura según el tipo de solicitud (URLEncoded/XML/JSON).
Proyecto: https://github.com/assetnote/nowafpls
Comentarios
Publicar un comentario