CyberCheatsheets

ffuf cuando la wordlist falla

Filtros, recursión y errores de vhost que queman horas en tests web.

Publicado 2 min de lectura

Corriste ffuf con directory-list-2.3-medium.txt, obtuviste miles de 200, y perdiste la tarde en falsos positivos de CDN.

La cheat sheet de ffuf documenta flags. No sabe que tu 404 custom devuelve HTTP 200 con 8 412 bytes siempre. La mayoría de tutoriales paran en -fc 404. En producción las páginas de error devuelven 200 con tamaño estable. Fuzzeas contra una pared de respuestas idénticas y lo llamas progreso.

Hago baseline del ruido antes del primer FUZZ. Una petición a un path imposible. Anoto código y bytes. Ese número filtra el resto del día.

Filtra por tamaño

Baseline del ruido:

curl -s -o /dev/null -w "%{http_code} %{size_download}\n" https://target.example/missing-path-xyz

Fuzz con exclusión:

ffuf -u https://target.example/FUZZ -w /usr/share/wordlists/dirb/common.txt \
  -fs 8412 -mc 200,301,302 -t 40 -o ffuf-dirs.json

-fs y -fw separan un run útil de un JSON muerto.

Recursión con cuidado

ffuf -u https://target.example/FUZZ -w small-api-list.txt -recursion -recursion-depth 2 \
  -fs 8412 -rate 30

Detrás de WAF, -rate bajo. El paralelismo no es virtud.

Vhost vs directorios

ffuf -u https://10.0.0.5/ -H "Host: FUZZ.target.example" -w vhosts.txt -fs 0

Compara con gobuster para dirs simples. ffuf gana con respuestas raras.

Extensiones y falsos positivos

-e .php,.asp,.bak infla hits cuando el servidor devuelve index.html para extensiones desconocidas. Vuelve a filtrar. -ac ayuda a veces y oculta hits reales otras.

Comprueba tres "misses" a mano antes de confiar en la cadena de filtros.

Recursión con cuidado

-recursion con wordlist enorme detrás de rate-limit del WAF es ban antes de /admin. Recursión tras validar un hit manual, lista pequeña, -rate bajo.

Salida útil

-o file.json -of json. Renombra por host y wordlist. Con auth, cookie en -b. Los paths interesantes rara vez están en la superficie anónima.

Detrás de CDN agresivo, baja -t y acepta runs lentos. El paralelismo no es virtud en engagements reales.

Zonas autenticadas es donde suele estar el jugo. Cookie en -b. Fuzz en /api/FUZZ tras login, no en la home de marketing. Listas pequeñas sacadas de JS, Swagger o tickets viejos ganan a SecLists medium en monolitos legacy más de lo que esperas.

Artículos relacionados