Path Traversal
Un paramètre. Des fichiers exposés.
Manipulez un paramètre de chemin pour remonter l'arborescence serveur et lire des fichiers sensibles — /etc/passwd, .env, clés SSH.
- 6 payloads prêts
- Résolution animée
- Arborescence serveur
- Encodage URL
Simulation pas à pas
Suivez l'attaque étape par étape
Répertoire de travail :
/var/www/html/uploads/
Chemin résolu :
/var/www/html/uploads/rapport_Q1.pdf
✓ Fichier trouvé — 200 OK
rapport_Q1.pdf · 847 Ko
Un paramètre de fichier dans l'URL
L'application charge un fichier dont le nom est fourni directement dans le paramètre ?file=
Chaque paramètre de chemin est une surface d'attaque
Quand une application concatène directement l'entrée utilisateur dans un chemin de fichier sans validation, elle fait confiance à l'input. Un attaquant peut fournir n'importe quel chemin — y compris des séquences ../ pour remonter l'arborescence du serveur.
Chiffres clés
Quelques ../ suffisent à sortir du dossier
- OWASP Broken Access Control
#0
inclut le Path Traversal (A01:2021)- Pour exploiter un endpoint
0 sec
avec un payload ../../../ basique- Des payloads encodés
0 %
%2e%2e contournent les filtres naïfs sur '../'
Protection
Comment s'en protéger
Un chemin de fichier ne doit jamais être construit à partir d'une saisie utilisateur brute.
Référencer par identifiant
L'utilisateur demande un identifiant de document ; le serveur retrouve lui-même le fichier correspondant.
Canonicaliser puis vérifier
Résolvez le chemin réel (realpath) et vérifiez qu'il reste dans le répertoire autorisé avant de l'ouvrir.
Liste blanche stricte
N'acceptez que les noms et extensions attendus ; rejetez ../, les chemins absolus et les variantes encodées.
Moindre privilège
Le processus web ne peut lire ni les fichiers système, ni les secrets, ni les clés du serveur.
Démo technique
Testez par vous-même
Manipulez le paramètre de chemin, observez la résolution pas à pas dans l'arborescence et visualisez les fichiers sensibles exposés par le serveur vulnérable.
Démonstration interactive
Simulateur Path Traversal
Manipulez le paramètre de chemin pour sortir du répertoire autorisé et accéder à des fichiers sensibles sur le serveur.
Payloads prêts à l'emploi
Base autorisée
/var/www/forenshield/public
URL demandée
https://forenshield.com/assets/documents/report.pdf
Chemin résolu
/var/www/forenshield/public/documents/report.pdf
Fichiers ciblés
- ·/etc/passwd
- ·/etc/shadow
- ·/.env
- ·/config/database.json
- ·/root/.ssh/id_rsa
Pourquoi c'est critique
Une seule variable de chemin non filtrée permet de sortir du dossier web et de lire des secrets, des credentials ou des clés privées.
Défense
- ·Valider et normaliser les chemins côté serveur
- ·Rejeter toute séquence '../' ou encodage URL suspect
- ·Utiliser une allowlist de fichiers autorisés
- ·Ne jamais concaténer dynamiquement un chemin utilisateur
FAQ
Questions fréquentes
Qu'est-ce qu'une attaque Path Traversal (Directory Traversal) ?
Le Path Traversal (ou Directory Traversal) est une vulnérabilité qui permet de lire des fichiers en dehors du répertoire web autorisé, en utilisant des séquences ../ dans les paramètres. Ex: /download?file=../../../etc/passwd permet de lire le fichier de mots de passe Linux depuis une application web.
Quels fichiers sont ciblés par une attaque Path Traversal ?
Les fichiers ciblés sur Linux/Unix : /etc/passwd (comptes système), /etc/shadow (hashes de mots de passe), /proc/self/environ (variables d'environnement avec secrets), .env (clés API, mots de passe). Sur Windows : C:\Windows\System32\drivers\etc\hosts, web.config, .htaccess avec identifiants.
Comment prévenir les attaques Path Traversal ?
Prévention du Path Traversal : valider et normaliser les chemins de fichiers (supprimer les séquences ../), utiliser des identifiants indirects plutôt que des noms de fichiers dans les URLs, restreindre les permissions d'accès fichiers (chroot jail), et ne jamais passer des noms de fichiers fournis par l'utilisateur directement aux fonctions d'ouverture de fichiers.
Comment les attaquants contournent-ils les filtres anti-traversal ?
Les techniques d'évasion incluent : l'encodage URL (%2e%2e%2f pour ../), le double encodage (%252e%252e%252f), les variations de séparateurs (..\, ../, ..%5c sur Windows), les null bytes (%00) pour tronquer l'extension, et les répétitions ....// qui se réduisent en ../ après normalisation.
Formez vos équipes avec un expert
Ateliers de sensibilisation sur mesure, simulations d'attaques et formations pour ancrer les bons réflexes dans votre organisation.