Attacking Web Aplications with Ffuf
Last updated
Last updated
El fuzzing es una técnica de prueba automatizada utilizada para identificar vulnerabilidades en sistemas y aplicaciones.
Ffuf es una herramienta rápida y eficiente para el fuzzing de directorios y archivos ocultos en servidores web.
Se basa en wordlists y parámetros como FUZZ
para probar rutas dinámicamente.
Se pueden utilizar filtros y matchers para refinar los resultados.
Hay que tener precaución con los hilos (-t
) para evitar afectar la estabilidad del servidor.
Permite explorar múltiples subdirectorios de forma automatizada.
Reduce el tiempo necesario para descubrir directorios y archivos ocultos.
recursion
→ Habilita el escaneo recursivo.
recursion-depth
→ Define la profundidad máxima de escaneo.
e .php
→ Especifica extensiones de archivos a buscar.
Explicación:
Escaneará los directorios principales y su primer nivel de subdirectorios.
No escaneará niveles más profundos como /login/user/
a menos que se aumente la profundidad.
Buscará archivos con la extensión .php
dentro de los directorios encontrados.
Problema de conexión: Al intentar acceder a academy.htb, el navegador no puede conectarse porque no es un sitio público y no está registrado en el DNS.
Solución: Para conectarse a academy.htb, se debe agregar la IP y el dominio al archivo /etc/hosts usando el comando:
Verificación: Después de agregarlo al archivo /etc/hosts, podemos acceder al sitio web. Sin embargo, se muestra la misma página que al acceder directamente a la IP.
Exploración de subdominios: Se realiza una búsqueda de subdominios bajo '*.academy.htb' para encontrar posibles paneles o áreas de administración.
Diferencia entre VHosts y subdominios: Los VHosts son subdominios que se sirven en el mismo servidor y tienen la misma IP, permitiendo que una sola IP sirva múltiples sitios web.
Limitaciones del fuzzing de subdominios: El fuzzing de subdominios solo encuentra subdominios públicos, pero no puede detectar subdominios no públicos o VHosts.
Solución con VHost Fuzzing: Para identificar tanto subdominios públicos como no públicos, se utiliza fuzzing de VHosts en los encabezados HTTP, especÃficamente en el encabezado Host
.
Uso del comando:
Esto permite verificar diferentes VHosts sin modificar manualmente /etc/hosts.
Resultado esperado: Aunque todas las pruebas devuelvan un 200 OK, un VHost válido mostrará una respuesta con un tamaño diferente debido a la página especÃfica de ese VHost.
Tip: In PHP, "POST" data "content-type" can only accept "application/x-www-form-urlencoded". So, we can set that in "ffuf" with "-H 'Content-Type: application/x-www-form-urlencoded'".