Vulnerabilidades Full Path Disclosure y Directory Traversal
Clase 10 de 14 • Curso de Hacking: Aplicaciones Web Server Side
Resumen
¿Qué es el Full Path Disclosure y cómo identificarlo?
El mundo de la ciberseguridad está lleno de retos y vulnerabilidades que pueden ser explotadas si no se manejan con cuidado. Una de ellas es el Full Path Disclosure (FPD), una vulnerabilidad que, si bien no te permitirá acceder o hackear directamente una aplicación, sí te proporcionará información valiosa sobre la arquitectura de una aplicación web. A través de FPD puedes descubrir la estructura del sistema de archivos, las carpetas y los archivos que la componen e, incluso, el sistema operativo en el que se ejecuta la aplicación.
¿Cómo provocar un Full Path Disclosure?
Para identificar esta vulnerabilidad, es necesario provocar un error en un archivo de la aplicación web. Esto suele suceder cuando un archivo con parámetros recibe datos incorrectos que no puede procesar. Si el servidor está mal configurado, mostrará un error revelando la ruta completa del archivo donde ocurrió el problema. Un ejemplo práctico de esto sería ingresar un valor aleatorio en un parámetro del archivo que no corresponda a un archivo existente, provocando un mensaje de error que, si está mal gestionado, expondrá la estructura de directorios.
Por ejemplo, si estás trabajando en un sitio web y al intentar acceder a una página se lanza un error en el que se detalla una ruta como /var/www/dwa/vulnerabilities/fi/index.php
, sabrás no solo dónde ocurrió el error sino qué sistema operativo está utilizando (en este caso, Linux) y cómo está estructurada la aplicación.
¿Cómo funciona el Directory Traversal y qué lo diferencia de otras vulnerabilidades?
La vulnerabilidad de Directory Traversal, al igual que el Local File Inclusion (LFI), se enfoca en la manipulación de rutas de archivos para leer información sensible del sistema. Sin embargo, tiene sus diferencias y aplicaciones específicas que la hacen única.
¿Cómo se explota el Directory Traversal?
El Directory Traversal permite cargar archivos del sistema de forma remota, con el principal objetivo de leer su contenido, sin modificarlo ni ejecutarlo. Para realizar esta operación, es común usar rutas relativas que retroceden en directorios (../
) para llegar al archivo deseado. Un ejemplo clásico es el archivo /etc/passwd
en sistemas Linux, que proporciona información sobre los usuarios del sistema. Al leer este archivo, un atacante podría intentar un ataque de fuerza bruta utilizando los nombres de usuario obtenidos.
Por otro lado, la diferencia principal con LFI radica en que, mientras Directory Traversal solo permite la lectura de archivos, el LFI también permite la ejecución de código contenido en archivos cargados, siempre que se trate de scripts en PHP, ASP, u otras tecnologías compatibles con el servidor web en cuestión.
Archivos de interés en sistemas Linux
/etc/passwd
: Lista de usuarios del sistema./var/log/auth.log
o/var/log/secure
: Logs de autenticación que pueden incluir intentos de acceso./var/log/apache2/access.log
: Registros de accesos al servidor web.
Te invitamos a investigar más sobre otros archivos que podrían ser de interés y a experimentar con aplicaciones seguras para comprender mejor cómo funciona esta vulnerabilidad de forma práctica. Déjanos tus comentarios con las rutas que encuentres para explorar más aún este interesante campo de la ciberseguridad. Sigue aprendiendo y fortaleciendo tus conocimientos para convertirte en un experto en seguridad informática. ¡Nos vemos en la próxima lección sobre Command Injection!