> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-notes/metodologias-de-evaluacion/recopilacion-de-informacion/recopilacion-pasiva-de-informacion/waf-con-wafw00f.md).

# WAF con wafw00f

## 🛡️ `wafw00f`

### 📌 ¿Qué es?

`wafw00f` es una herramienta para **detectar y fingerprintar WAFs** (Web Application Firewalls) que protegen aplicaciones web. Su nombre viene de "WAF + woof", como si "olfateara" el firewall.

Muy útil en **pentesting web**, especialmente para planificar cómo evadir protecciones automatizadas.

***

### 🧠 ¿Qué hace exactamente?

* Identifica si hay un WAF delante de una aplicación web.
* Intenta determinar **qué WAF específico está presente** (ej. Cloudflare, ModSecurity, AWS WAF, etc.)
* Lo hace enviando **peticiones HTTP con payloads sospechosos** y analizando las respuestas del servidor.

***

### 🛠️ ¿Cómo se usa?

Instalación (si no la tienes):

```bash
pip install wafw00f
```

Uso básico:

```bash
wafw00f https://objetivo.com
```

Con más información:

```bash
wafw00f -a https://objetivo.com
```

Para escanear múltiples objetivos desde un archivo:

```bash
wafw00f -i targets.txt
```

***

### 📋 ¿Qué detecta?

* Más de **80 WAFs conocidos**: como AWS, Azure, Sucuri, Barracuda, F5, Fortinet, Cisco, Cloudflare, Akamai, etc.
* También si es un reverse proxy con reglas de bloqueo.
* Comportamiento frente a payloads como `../../`, `<script>`, SQLi simples, etc.

***

### 🎯 ¿Para qué sirve en pentesting?

| Objetivo                 | Cómo ayuda `wafw00f`                                                      |
| ------------------------ | ------------------------------------------------------------------------- |
| 🔍 Detección de WAF      | Saber si estás detrás de una protección automatizada                      |
| 🎭 Evasión de payloads   | Si detectas ModSecurity, por ejemplo, sabes que debes ofuscar tu SQLi/XSS |
| 🔓 Selección de vectores | Si hay un WAF, puede que ciertas rutas estén protegidas mientras otras no |
| 🔄 Fingerprinting        | Saber exactamente contra qué WAF estás y adaptar tus técnicas             |

***

### 🧪 Ejemplo práctico:

```bash
wafw00f https://target.htb
```

Resultado:

```
The site https://target.htb is behind Cloudflare
```

Ahora sabes que debes:

* Usar técnicas de evasión para Cloudflare.
* Revisar posibles **bypasses con subdominios**, `CF-Cache`, etc.
