
Plugin do Burp para Contornar WAFs por meio da inserção de Dados Lixo
A maioria dos firewalls de aplicação web (WAFs) tem limitações quanto à quantidade de dados que podem processar quando um corpo de requisição é enviado. Isso significa que, para requisições HTTP que contêm um corpo de requisição (ou seja, POST, PUT, PATCH etc.), geralmente é possível contornar o WAF simplesmente adicionando dados inúteis no início.
Quando a requisição é preenchida com esses dados inúteis, o WAF processa até X kb da requisição e os analisa, mas tudo o que estiver além dos limites do WAF passa direto.
nowafpls é um plugin simples do Burp que insere contextualmente esses dados inúteis na sua requisição HTTP dentro da aba do repeater. Você pode selecionar uma quantidade predefinida de dados inúteis para inserir, ou pode inserir uma quantidade arbitrária de dados inúteis selecionando a opção "Custom".
Esta ferramenta tem apenas cerca de 80 linhas de Python, é incrivelmente simples, mas funciona para a maioria dos WAFs lol.
nowafpls é um plugin do Burp baseado em Jython.
https://github.com/assetnote/nowafpls/assets/5241936/dad77c3a-d550-4e5d-894d-027256137148
nowafpls inserirá dados inúteis conforme o tipo de requisição (URLEncoded/XML/JSON) automaticamente.
A versão Caido deste plugin é mantida por @Rhynorater e pode ser encontrada no gist abaixo:
https://gist.github.com/Rhynorater/ace68d4976357ca0937cb4669f303306
ou na Biblioteca de Workflows EvenBetter.
MIT
| WAF Provider | Limite máximo de inspeção do corpo da requisição |
|---|
| Cloudflare | 128 KB para o mecanismo de ruleset, até 500 MB para enterprise |
| AWS WAF | 8 KB - 64 KB (configurável dependendo do serviço) |
| Akamai | 8 KB - 128 KB |
| Azure WAF | 128 KB |
| Fortiweb by Fortinet | 100 MB |
| Barracuda WAF | 64 KB |
| Sucuri | 10 MB |
| Radware AppWall | até 1 GB para WAF em nuvem |
| F5 BIG-IP WAAP | 20 MB (configurável) |
| Palo Alto | 10 MB |
| Cloud Armor by Google | 8 KB (pode ser aumentado para 128 KB) |