
waf-checker v1.2.0
Ferramenta automatizada de avaliação de WAF que detecta fornecedores de firewall, testa 19 categorias de ataque com payloads de evasão avançados e fornece análise de bypass codificada por cores via CLI, Cloudflare Worker ou Docker.
Verificador de WAF
Este projeto ajuda você a verificar quão bem seu Web Application Firewall (WAF) protege seu produto contra ataques web comuns. Ele pode ser executado como um Cloudflare Worker (com uma interface Web interativa integrada) ou como uma ferramenta CLI autônoma para Node.js.
🧪 Cobertura de Testes e Status
Todos os pacotes são minuciosamente testados com suítes automatizadas de testes unitários, de integração, baseados em propriedades (fuzzing com fast-check), de resiliência de rede e de engenharia reversa (100% de conformidade com segurança SSRF, técnicas de evasão de protocolo e formatadores de relatórios):
| Pacote | Cobertura de Linhas | Instruções | Funções | Suíte de Testes |
|---|---|---|---|---|
@waf-checker/core | 93.0% 🟢 | 92.6% | 96.4% | 🟢 282 passando |
@waf-checker/cli | 93.5% 🟢 | 92.8% | 96.7% | 🟢 54 passando |
@waf-checker/worker | Passando 🟢 | — | — | 🟢 30 passando |
| Suíte Total do Monorepo | 93.2% | 92.7% | 96.6% | 🟢 366 testes passando |
Recursos
Testes Principais
- Insira uma URL de destino, escolha métodos HTTP (GET, POST, etc.) e categorias de ataque.
- Envia requisições com payloads de ataque (em parâmetros, cabeçalhos ou como caminhos de arquivo).
- Resultados no terminal e na web com código de cores: 🟢 403/BLOQUEADO = bloqueado, 🔴 2xx/5xx = possível bypass, 🟠 3xx = redirecionamento.
- Resultados exibidos em uma tabela filtrável com detalhes para cada payload.
🕵️ Engenharia Reversa de WAF e Matriz CRS (--reverse)
- Mapeamento do OWASP Core Rule Set (CRS v3/v4): Audita IDs de regras ativas versus desativadas (
920xxx,921xxx,930xxx,931xxx,932xxx,933xxx,934xxx,941xxx,942xxx,943xxx,944xxx) com Níveis de Paranoia (PL1-PL4). - Detecção de Limite do Corpo de Inspeção: Sondagem por busca binária (8KB – 128KB, precisão ~1KB) para identificar os limites de truncamento do buffer.
- Detecção do Modo de Pontuação de Anomalias: Sonda o modo de pontuação colaborativa versus o modo de bloqueio estrito por regex e identifica os limites de pontuação.
- Sondagem Segura de Limite de Taxa: Aumento gradual seguro até 30 req/s com encerramento antecipado imediato ao receber HTTP 429 e extração de
Retry-After.
🛡️ Patching Virtual de WAF e Correção Automática (--patch / comando patch)
- Mitigação Instantânea: Transforma automaticamente os bypasses de WAF detectados (HTTP 200) em regras de firewall prontas para implantação, configurações de proxy reverso e Infraestrutura como Código (Terraform HCL / Cloud CLI).
- Plataformas Suportadas (11 Dialetos):
- Cloudflare WAF: Expressões Wirefilter (
http.request.uri.query contains .../matches ...) ecloudflare_rulesetTerraform HCL. - AWS WAF v2: Declarações de Regras JSON nativas (
ByteMatchStatement,RegexPatternSet,OrStatement) eaws_wafv2_rule_groupTerraform HCL. - Google Cloud Armor: Expressões CEL (
request.path.matches(...),request.headers[...]), comandos CLIgcloud compute security-policiese Terraformgoogle_compute_security_policy. - Azure WAF (Front Door e App Gateway): Definições JSON de Regras Personalizadas, comandos CLI
az network front-door waf-policye Terraformazurerm_cdn_frontdoor_firewall_policy. - ModSecurity e OWASP Coraza: Diretivas
SecRulecompatíveis com OWASP CRS (SecLang) com colapso de tokens@pm. Suportado via--patch modsecurityou--patch coraza. - NGINX: Blocos de configuração nativos
location ~* \.(ext)$ { return 403; },location ~ /\.(git|svn)emap. - HAProxy: ACLs nativas de alto desempenho (
path_end -i,path_beg -i,query -m sub -i,req.hdr()) comhttp-request deny deny_status 403. - Caddy Server: Matchers nomeados idiomáticos do Caddyfile (
@waf_patch_*) com expressões CEL (expression {http.request.uri.query}.matches(...)) erespond 403. - Apache HTTP Server: Regras
mod_rewrite(RewriteCond %{QUERY_STRING}/%{REQUEST_URI}/%{HTTP_USER_AGENT}+RewriteRule ^ - [F,L]) parahttpd.conf,<VirtualHost>ou.htaccess. Suportado via--patch apache. - Envoy Proxy: Entradas de rota correspondendo a
:path/cabeçalhos viasafe_regexRE2 comdirect_response: 403(ou encaminhar-e-marcar no modo de simulação) para um virtual_host de route_configuration. Suportado via--patch envoy. - Kubernetes Ingress (K8s): Manifests YAML
kind: Ingressprontos para produção com anotaçõesnginx.ingress.kubernetes.io/server-snippet.
- Cloudflare WAF: Expressões Wirefilter (
- Defesa em Duas Camadas:
- Hotfix Estrito: Assinaturas de token exatas com risco de falso positivo de 0% para resposta imediata a incidentes de dia zero.
- Padrão Heurístico: Expressões regulares generalizadas cobrindo toda a estrutura da classe de vulnerabilidade.
- Web UI Remediation Studio: Modal interativo do painel com pré-visualizações ao vivo em todos os fornecedores, cópia para a área de transferência com 1 clique, alternância de formatos e exportação de arquivos.
Categorias de Ataque (28 no total)
Injeção de SQL, XSS, Injeção de Comandos, Path Traversal, SSRF, Inclusão de Arquivo Local, Arquivos Sensíveis, Redirecionamento Aberto, SSTI, XXE, Injeção NoSQL, Injeção GraphQL, Ataque JWT (Cabeçalho), Ataque JWT (Parâmetro), Prototype Pollution (Corpo JSON), Prototype Pollution (URL/Parâmetro), Injeção LDAP, Injeção XPath, Injeção de Fórmula de Planilha, Log4Shell (JNDI), Injeção CRLF, Poluição de Parâmetros HTTP, User-Agent, Bypass de IP, HTTP Request Smuggling, Web Cache Poisoning, Bypass UTF8/Unicode, Bypass de Limite de Inspeção de WAF (Padding).
Detecção de WAF
- Detecção automática do tipo de WAF antes dos testes (Cloudflare, AWS WAF, OWASP Coraza, BunkerWeb, ModSecurity, Akamai, Imperva, F5 BIG-IP, etc.).
- Sugere técnicas de bypass específicas com base no WAF detectado.
- Pode alternar automaticamente para payloads avançados específicos do WAF.
Payloads Avançados e Codificação
- Payloads de Bypass de WAF — codificação dupla, unicode, caixa mista, injeção de comentários, payloads poliglotas.
- Payloads Aprimorados — técnicas modernas de evasão.
- Variações de Codificação — codificação URL, Unicode, Entidade HTML, Hex, Octal, Base64 com combinações automáticas.
- Bypasses específicos de WAF para Cloudflare, AWS WAF, ModSecurity.
Manipulação do Protocolo HTTP
- HTTP Verb Tampering — testa métodos HTTP incomuns.
- Parameter Pollution — duplica e divide parâmetros entre query/body.
- Content-Type Confusion — tipos de conteúdo alternativos para contornar regras.
- Cabeçalhos de Request Smuggling.
- Variações de Host Header Injection.
- HTTP Method Override via cabeçalhos (
X-HTTP-Method-Override, etc.).
Testes em Lote
- Testa múltiplos URLs de uma só vez.
- Concorrência e atraso entre requisições configuráveis.
- Acompanhamento de progresso em tempo real.