# wafw00f: identificando WAFs antes y durante la prueba

> Cómo instalar y ejecutar wafw00f, y por qué conocer el WAF cambia tanto tu metodología como lo que puedes afirmar honestamente en el informe.

`wafw00f` envía una serie de probes a una aplicación web y compara las respuestas contra fingerprints de alrededor de 150 web application firewalls. Te dice si hay un WAF delante del objetivo y, por lo general, cuál.

## Instalación

```bash
pipx install wafw00f
# o
pip install wafw00f
```

## Comandos principales

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

# una lista
wafw00f -i hosts.txt

# todos los matches, no solo el primero
wafw00f -a https://example.com

# salida JSON
wafw00f -i hosts.txt -o waf.json -f json

# lista los fingerprints que conoce
wafw00f -l
```

## Salida

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

## Dónde encaja en Tandera

wafw00f se ejecuta en la fase de **analyze** de `recon_web_lite` y `recon_web_full`. Su resultado es contexto para todo lo demás: un WAF delante de la aplicación cambia cómo deben leerse los resultados del active-scan.

Complementa a `cdncheck`, que responde la misma pregunta desde el lado de la red. cdncheck clasifica la IP; wafw00f clasifica el comportamiento. Discrepan con la frecuencia suficiente como para que valga la pena ejecutar ambos.

## Uso en un pentest

**Un WAF cambia lo que tu informe puede afirmar.** Si `nuclei` no encontró nada, eso puede significar que la aplicación es sólida o que el WAF bloqueó los probes. Son conclusiones distintas y el cliente merece la honesta. Declara en la metodología que la prueba se realizó a través de un WAF, y cuál.

**Pregunta sobre allow-listing antes de empezar.** Muchos engagements deberían probar la aplicación, no el WAF. Si esa es la intención, el cliente necesita poner tus direcciones de origen en la allow-list — y esa petición tiene que ocurrir antes de la ventana de prueba, no durante.

**"Ningún WAF detectado" es evidencia débil.** Los fingerprints se quedan obsoletos y algunos productos son deliberadamente silenciosos. La ausencia de detección no es evidencia de ausencia; no lo escribas como si lo fuera.

---

Canonical: https://tandera.io/es/tools/wafw00f
This page as markdown: https://tandera.io/es/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`.
