nowafpls: plugin de Burp para evadir WAFs insertando 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 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:

  1. Envía cualquier petición a la pestaña de "Repeater" que quieras usar para bypassear el WAF.
  2. Coloca el cursor en el lugar donde deseas insertar datos basura.
  3. Haz clic derecho -> Extensiones -> nowafpls
  4. Selecciona la cantidad de datos basura que deseas insertar
  5. 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