Recursive Fuzzing con FFUF

Hasta ahora se hizo fuzzing de forma manual:

  1. Buscar directorios

  2. Entrar en cada directorio

  3. Buscar archivos dentro

  4. Repetir…

Esto funciona, pero si un sitio tiene muchos subdirectorios, hacerlo a mano es lento e ineficiente.
Para resolverlo, ffuf ofrece el fuzzing recursivo (recursive fuzzing).


🔁 ¿Qué es el fuzzing recursivo?

Es un modo donde ffuf:

Así conseguimos “mapear” toda la estructura de directorios y archivos sin hacer cada paso a mano.


🎚️ Parámetros importantes para fuzzing recursivo

🔹 -recursion

Activa el modo recursivo.
Cada directorio encontrado se convierte en un nuevo objetivo.

🔹 -recursion-depth <n>

Controla qué tan profundo va el escaneo.
Ejemplo:

Recomendación:
Siempre especificar profundidad para evitar escaneos enormes.

🔹 -e .php

Permite añadir extensiones a fuzzear automáticamente al escanear páginas.
Ideal para PHP, aunque se puede usar .asp, .html, .txt, etc.

🔹 -v

Muestra la URL completa encontrada.
Útil cuando hay muchos archivos con el mismo nombre en distintos directorios.


▶️ Ejemplo práctico

Aquí se repite el fuzzing básico del inicio, pero con recursión y .php:

ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt:FUZZ \
    -u http://SERVER_IP:PORT/FUZZ \
    -recursion \
    -recursion-depth 1 \
    -e .php \
    -v

📌 ¿Qué hace este comando?

  1. Fuzzea el directorio raíz /

  2. Cada directorio encontrado → añade un nuevo job automático

  3. Para cada directorio:

    • prueba /dir

    • prueba /dir.php

    • y fuzz dentro de /dir/

  4. Muestra la URL completa de cada resultado


✔️ Ejemplo del resultado mostrado

{B37A2F13-EBFA-420E-A48B-A46E6045C380}.png

ffuf:


🧩 Resultado final

Con una sola ejecución, el escaneo:

On this page
  • 🔁 ¿Qué es el fuzzing recursivo?
  • 🎚️ Parámetros importantes para fuzzing recursivo
  • 🔹 -recursion
  • 🔹 -recursion-depth
  • 🔹 -e .php
  • 🔹 -v
  • ▶️ Ejemplo práctico
    1. 📌 ¿Qué hace este comando?
    2. ✔️ Ejemplo del resultado mostrado
    3. 🧩 Resultado final