Cette faille permet à un attaquant d'accéder à des fichiers stockés en dehors du dossier prévu (la racine web).
Elle survient quand une application utilise une entrée utilisateur non nettoyée pour construire un chemin de fichier.
Ne confondez pas les deux, même si l'exploitation (../../) est similaire :
file_get_contents(). Vous ne pouvez que LIRE le code source ou des fichiers sensibles.include(). Si le fichier ciblé contient du code PHP, le serveur va l'EXÉCUTER. C'est beaucoup plus dangereux (RCE potentielle).Note : Ce lab est un cas de Path Traversal pur (lecture seule).
Dans tous les systèmes (Linux, Windows), .. signifie "Remonter au dossier parent".
Exemple : L'application veut lire dans /var/www/html/files/.
Si vous demandez le fichier : ../../../../etc/passwd
Le chemin devient : /var/www/html/files/../../../../etc/passwd
Les .. annulent les dossiers précédents jusqu'à la racine /, et le serveur finit par lire /etc/passwd !