# wafw00f: identificando WAFs antes e durante o teste

> Como instalar e executar o wafw00f, e por que conhecer o WAF muda tanto sua metodologia quanto o que você pode honestamente afirmar no relatório.

O `wafw00f` envia uma série de probes a uma aplicação web e compara as respostas contra fingerprints de cerca de 150 web application firewalls. Ele diz se há um WAF na frente do alvo e, geralmente, qual.

## Instalação

```bash
pipx install wafw00f
# ou
pip install wafw00f
```

## Comandos principais

```bash
# alvo único
wafw00f https://example.com

# uma lista
wafw00f -i hosts.txt

# todos os matches, não só o primeiro
wafw00f -a https://example.com

# saída JSON
wafw00f -i hosts.txt -o waf.json -f json

# lista os fingerprints que ele conhece
wafw00f -l
```

## Saída

```json
[{"url":"https://example.com","detected":true,"firewall":"Cloudflare","manufacturer":"Cloudflare Inc."}]
```

## Onde ele entra no Tandera

O wafw00f roda na fase de **analyze** do `recon_web_lite` e do `recon_web_full`. Seu resultado é contexto para tudo o mais: um WAF na frente da aplicação muda como os resultados do active-scan devem ser lidos.

Ele complementa o `cdncheck`, que responde a mesma pergunta pelo lado da rede. O cdncheck classifica o IP; o wafw00f classifica o comportamento. Eles divergem com frequência suficiente para valer rodar os dois.

## Usando em um pentest

**Um WAF muda o que seu relatório pode afirmar.** Se o `nuclei` não achou nada, isso pode significar que a aplicação é sólida ou que o WAF bloqueou os probes. São conclusões diferentes e o cliente merece a honesta. Declare na metodologia que o teste foi feito através de um WAF, e qual.

**Pergunte sobre allow-listing antes de começar.** Muitos engajamentos deveriam testar a aplicação, não o WAF. Se essa é a intenção, o cliente precisa colocar seus endereços de origem na allow-list — e esse pedido tem que acontecer antes da janela de teste, não durante.

**"Nenhum WAF detectado" é evidência fraca.** Fingerprints ficam desatualizados e alguns produtos são deliberadamente silenciosos. Ausência de detecção não é evidência de ausência; não escreva como se fosse.

---

Canonical: https://tandera.io/pt-br/tools/wafw00f
This page as markdown: https://tandera.io/pt-br/tools/wafw00f.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
