Applications, sites et API
Particuliers et entreprisesTraversée de répertoires
Path traversal
Un chemin manipulé donne accès à des fichiers hors du dossier prévu.
Je pense être concerné : que faire ?
Comprendre et agir
À la fin de cette lecture, vous pourrez expliquer le piège et choisir une première réaction adaptée à votre rôle. Aucun prérequis informatique n’est nécessaire.
Une situation concrète
Un service permet de télécharger une facture. Il attend un nom de document, mais utilise cette valeur pour chercher un fichier sans vérifier sa destination finale. Un attaquant peut alors viser un autre dossier que celui prévu.
Comment cela fonctionne
La traversée de répertoires fait sortir un accès fichier de son espace autorisé. Elle peut permettre une lecture, mais aussi une écriture lors d’un dépôt ou de l’extraction d’une archive. L’image simple est celle d’un guichet chargé de remettre un dossier précis qui accepterait finalement d’aller fouiller toute l’armoire.
- Un nom de fichier est demandé
Téléchargement ou extraction.
- Le chemin sort du dossier prévu
La destination n’est pas correctement contrôlée.
- Un autre fichier est atteint
Lecture ou écriture non autorisée.
Ce que vous pouvez faire
Vos premiers réflexes
Si un téléchargement vous livre un fichier qui ne vous est pas destiné, arrêtez-vous et signalez la page. Ne testez pas les noms de fichiers d’autres personnes.
Si vous êtes responsable du service ou de l’organisation
Développeurs : utilisez des références de documents et vérifiez leurs permissions. Pour les chemins nécessaires, contrôlez la destination réelle, y compris les liens symboliques et les archives.
Ajouter un dossier de base devant un chemin fourni par l’utilisateur ne suffit pas à l’enfermer dans ce dossier.
À vous de décider
Un téléchargement censé fournir votre facture renvoie un fichier de configuration. Quelle réaction permet d’alerter sans aggraver l’exposition ?
Choisissez votre réponse et expliquez pourquoi avant de lire la correction.
Voir la réponse expliquée
Arrêtez la consultation et indiquez au responsable la page et l’heure de votre demande. Ne publiez pas le fichier et ne cherchez pas d’autres chemins : le service doit vérifier pourquoi son accès aux fichiers est sorti du périmètre prévu.
Analyser un cas technique
Pour les personnes qui développent, administrent ou analysent les systèmes concernés. Commencez par « Comprendre et agir » si ces notions sont nouvelles pour vous.
Étude de cas fictive
Un téléchargement sort du répertoire autorisé
Une traversée de répertoires permet de demander un fichier en dehors de l’emplacement prévu. Le défaut se trouve souvent dans une fonction de téléchargement qui transforme une valeur d’URL en chemin de fichier. Il peut aussi toucher l’extraction d’archives ou un traitement différé.
Comparer le début de deux chaînes est insuffisant : un répertoire voisin peut commencer par le même nom que le répertoire autorisé. Il faut vérifier l’appartenance réelle du chemin à l’arborescence prévue. Les liens symboliques ajoutent une difficulté, car un chemin apparemment interne peut pointer ailleurs. Un fichier peut également changer entre sa vérification et son ouverture.
Une application qui accepte un identifiant de document plutôt qu’un chemin fourni par le client réduit ce risque. Elle doit encore vérifier que l’utilisateur a le droit de lire le document choisi : être dans le bon répertoire ne suffit pas à autoriser l’accès.
Pour l’enquête, conserver la demande reçue et le chemin effectivement ouvert. Les décodages d’URL et normalisations successives peuvent les rendre différents. Une réponse réussie ne prouve pas à elle seule qu’un fichier sensible a été livré ; l’audit des accès et la taille de la réponse peuvent aider à préciser le résultat.
Le déroulement en schéma
Faites défiler le diagramme pour suivre les échanges ; les noms des acteurs restent en haut. Sur petit écran, faites aussi défiler de gauche à droite.
- Action
Référence de document ou chemin
Demandeur vers Application
Trace r71 / r72
- Action
Conversion en ressource locale
Application vers Résolveur fichiers
- Action
Résolution réelle des composants
Résolveur fichiers vers Stockage
Trace resolved_path
- Réponse
Objet final après liens
Stockage vers Résolveur fichiers
- Action
Décision de confinement
Résolveur fichiers vers Application
Trace inside_root
- Action
Lecture seulement si objet autorisé
Application vers Stockage
Trace object_authorized
- Refus / blocage
Refus hors racine ou hors mandat
Application vers Demandeur
Comment repérer cette attaque
Indices à rechercher
- Des demandes contiennent des chemins inattendus.
- Un accès fichier vise un emplacement extérieur au stockage prévu.
- Une archive déposée crée des fichiers dans un autre répertoire.
Chercher les accès fichiers qui sortent de la racine attendue ou du périmètre documentaire de l’utilisateur, ainsi que les chemins anormaux dans les archives traitées.
Éléments à croiser
Suivre la requête jusqu’au chemin effectivement ouvert. Comparer ce chemin à la racine autorisée après résolution des liens symboliques, et non au seul texte saisi par le client.
Limites de l’interprétation
La présence de ../ dans un accès HTTP prouve une tentative, pas un accès réussi. Sans audit de fichier ou résultat applicatif fiable, le contenu effectivement lu reste inconnu.
Comment réagir
Désactiver l’accès brut au chemin, examiner la portée des droits du service et retrouver les fichiers lus ou modifiables. Pour une exposition de configuration, traiter les secrets comme potentiellement compromis. Pour une écriture, comparer les exécutables, templates et configurations aux références fiables avant remise en service.
Vérifier la correction
Ces contrôles s’adressent à l’équipe responsable du système. Les simulations se préparent dans un environnement de test autorisé ; la lecture du cas ne nécessite aucune manipulation.
- Les répertoires voisins et les liens symboliques ne doivent pas donner accès à des fichiers hors périmètre.
- Les téléchargements doivent vérifier les droits sur chaque document.
- Les archives et traitements différés doivent respecter les mêmes restrictions de chemin.
À vous de raisonner
Le fichier demandé est bien dans le répertoire autorisé. Cela suffit-il à le remettre à n’importe quel utilisateur connecté ?
Formulez votre décision et l’élément qui la justifie avant d’ouvrir la correction.
Comparer avec le raisonnement expliqué
Il faut encore vérifier le droit de cet utilisateur sur le document. Le confinement protège l’arborescence ; l’autorisation protège le périmètre de chaque personne. Vérifiez aussi les liens symboliques et le chemin effectivement ouvert, au-delà d’une comparaison de texte.
Consulter les détails techniques
Pour aller plus loin après l’étude du cas : les extraits servent à s’exercer à la lecture des traces ; le guide de collecte aide les personnes qui disposent des outils et des accès nécessaires.
Lire les extraits commentés — reconstitution fictive
Ces extraits utilisent des valeurs fictives. Certains reprennent des champs documentés ; d’autres regroupent plusieurs sources dans un format pédagogique. Ce ne sont pas des exports bruts à retrouver tels quels dans vos outils. Commencez par les champs expliqués, puis retrouvez-les dans les extraits.
resolved_path- Chemin final explicité par le cas. Le journal d’accès du frontal ne calcule pas ce chemin à l’intérieur du serveur applicatif.
Deux opérations à ne pas confondre
JournalAudit fictif du stockage et de l’application, avec résolution effectivement observée.
req=r71 actor=u3 document_id=d12 authorized_owner=u3
req=r71 requested_path=a.pdf resolved_path=/srv/documents/a.pdf result=read
req=r72 actor=u3 document_id=none path_source=query
req=r72 requested_path=../config/service.env resolved_path=/srv/config/service.env result=read
job=z4 archive_entry=report/link type=symlink target=/srv/config
job=z4 extraction_result=rejected reason=links_not_allowedPréparer une collecte dans votre environnement
Choisissez les sources qui correspondent à vos outils et à votre périmètre d’intervention. Cette liste n’est pas un équipement requis pour comprendre la fiche. Vérifiez que les journaux nécessaires étaient activés pendant la période étudiée. Conservez l’export original, son fuseau horaire et sa provenance dans un espace à accès restreint ; travaillez sur une copie expurgée des secrets.
Service concerné — audit et historique à vérifier
- Où les trouver
- Dans l’outil d’administration ou les journaux du service concerné. Demander à son mainteneur où sont enregistrées les décisions d’autorisation et les opérations métier.
- Quoi relever
- Dans le service de fichiers ou de décompression, comparer chemin demandé, chemin canonique après résolution, racine autorisée et décision d’accès. Pour une archive, conserver le nom de l’entrée et le motif de rejet.
- Accès et prérequis
- Il n’existe ni fichier ni vocabulaire universels. Les champs proposés ici doivent être instrumentés s’ils manquent ; ne pas enregistrer mots de passe, jetons ou contenu privé intégral.
Linux — auditd
- Où les trouver
- Sur le serveur concerné, dans le fichier log_file d’auditd, généralement /var/log/audit/audit.log. Les enregistrements SYSCALL, EXECVE et PATH d’un même événement partagent le numéro dans msg=audit(...).
- Quoi relever
- Si une règle surveillait le fichier sensible, rapprocher les enregistrements PATH et SYSCALL : nom de l’objet, processus, appel système et résultat. Une création ou un simple contrôle de métadonnées n’est pas une lecture du contenu.
- Accès et prérequis
- Service actif et règles d’audit adaptées avant les faits. Linux n’enregistre pas automatiquement toutes les exécutions et lectures ; les arguments et chemins collectés peuvent être sensibles.
Si vous pensez être concerné
Si vous utilisez le service
Si un téléchargement vous livre un fichier qui ne vous est pas destiné, arrêtez-vous et signalez la page. Ne testez pas les noms de fichiers d’autres personnes.
Pour l’équipe qui exploite le service
- Désactivez le chemin d’accès vulnérable et conservez les requêtes utiles.
- Identifiez les fichiers qui pouvaient être lus ou écrits.
- Remplacez les secrets exposés et vérifiez l’intégrité des fichiers modifiables.
Pour qualifier votre situation et être orienté : obtenir une assistance sur 17Cyber. Dans une organisation, prévenez aussi le responsable ou prestataire chargé de la sécurité.
Sources et repères pour approfondir
- OWASP — Path Traversal — owasp.org
- Python — pathlib — docs.python.org


