Attacking Web Aplications with Ffuf
Fuzzing
El fuzzing es una técnica de prueba automatizada utilizada para identificar vulnerabilidades en sistemas y aplicaciones.
ffuf
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
FUZZpara 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.


Recursive Fuzzing
Permite explorar múltiples subdirectorios de forma automatizada.
Reduce el tiempo necesario para descubrir directorios y archivos ocultos.
Configuración de fuzzing recursivo en Ffuf
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
.phpdentro de los directorios encontrados.
DNS Records
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.
Vhosts Vs. Sub-Domains
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.
GET Request Fuzzing

Parameter Fuzzing - POST


Tip
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'".
Skills
Last updated