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
Découvrez le piège à partir d’un exemple, puis les gestes que vous pouvez faire. Vous pouvez suivre cette lecture sans connaissances en informatique.
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
Une traversée de répertoires permet d’accéder à des fichiers en dehors du dossier autorisé. Elle peut servir à lire des données, mais aussi à écrire ailleurs lors d’un dépôt de fichier ou de l’extraction d’une archive. Imaginez un guichet chargé de vous remettre un dossier précis : en modifiant la demande, vous lui faites chercher dans 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
Utilisez des références de documents et vérifiez les droits d’accès. Lorsqu’un chemin est nécessaire, contrôlez le fichier réellement atteint, en tenant compte des liens symboliques et du contenu des archives.
Ajouter le nom du dossier autorisé devant un chemin fourni par l’utilisateur ne garantit pas que le fichier finalement ouvert reste 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 ?
Prenez un moment pour répondre et expliquer votre choix, puis ouvrez la correction.
Voir la réponse expliquée
Arrêtez la consultation et signalez la page ainsi que l’heure de la demande au responsable. Gardez le fichier confidentiel et ne cherchez pas d’autres chemins. Le service doit vérifier pourquoi il a ouvert un fichier hors du dossier prévu.
Analyser un cas technique
Ce cas s’adresse aux personnes qui développent, administrent ou analysent ces systèmes. Si vous découvrez le sujet, commencez par « Comprendre et agir ».
Étude de cas fictive
Un téléchargement sort du répertoire autorisé
Le service peut ouvrir un fichier situé hors du dossier prévu : c’est une traversée de répertoires. Le défaut se trouve souvent dans un téléchargement qui convertit une valeur d’URL en chemin de fichier. Il peut aussi se produire lors de l’extraction d’une archive ou dans un traitement exécuté plus tard.
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.
Quelles informations comparer
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.
Ce que ces indices ne permettent pas de conclure
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
L’équipe responsable du système peut utiliser ces contrôles dans un environnement de test autorisé. Vous pouvez lire et comprendre le cas sans effectuer ces manipulations.
- 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é ?
Quelle décision prendriez-vous, et sur quel indice vous appuieriez-vous ? Répondez 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
Les extraits permettent de s’exercer à lire les traces du cas. Si vous disposez des outils et des accès nécessaires, le guide de collecte vous aide aussi à rechercher ces informations.
Lire les extraits commentés (reconstitution fictive)
Ces extraits contiennent des valeurs fictives. Certains champs correspondent à ceux des outils documentés ; d’autres réunissent plusieurs sources pour faciliter l’explication. Vos propres exports pourront donc avoir une autre forme. Lisez d’abord les explications des champs, puis repérez-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
Utilisez les sources disponibles dans vos outils et auxquelles vous êtes autorisé à accéder. Vous pouvez comprendre la fiche sans posséder ces outils. Vérifiez que les journaux étaient activés pendant la période étudiée. Gardez l’export original avec son fuseau horaire et sa provenance dans un espace à accès restreint. Pour l’analyse, travaillez sur une copie dont vous avez retiré les 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 comprendre votre situation et trouver de l’aide : 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



