Coders Conquer Security : Série Partage & Apprentissage - Inclusion de fichiers locaux et traversée de répertoire

Contrairement à de nombreuses vulnérabilités, l'exploitation de l'inclusion de fichiers locaux et des processus de traversée de répertoire à des fins malveillantes nécessite un attaquant suffisamment qualifié, un temps considérable et peut-être un peu de chance. Cela ne signifie pas pour autant que cette vulnérabilité peut être ignorée. Des attaquants qualifiés peuvent l'utiliser pour retourner des fichiers internes contre une organisation, cartographier une structure de répertoire ou même voler des mots de passe et des informations utilisateur pouvant servir à de dangereuses attaques secondaires.
Dans cet épisode, nous aborderons :
- Comment les pirates exploitent les vulnérabilités d'inclusion de fichiers locaux et de traversée de répertoire
- Pourquoi autoriser l'inclusion de fichiers locaux et la traversée de répertoire sans restriction peut être dangereux
- Politiques et techniques pouvant être employées pour détecter et corriger ce problème.
Comment les attaquants exploitent-ils l'inclusion de fichiers locaux et la traversée de répertoire ?
Le célèbre détective Columbo disait toujours : « Juste une dernière chose » juste avant de révéler une information précieuse qui allait résoudre l'affaire en cours. Cela semblait insignifiant sur le moment et était presque toujours ignoré par le suspect, mais cela finissait invariablement par causer sa perte. Les vulnérabilités d'inclusion de fichiers locaux et de traversée de répertoire fonctionnent un peu de la même manière.
Les vulnérabilités d'inclusion de fichiers locaux et de traversée de répertoire utilisent le mécanisme d'inclusion dynamique de fichiers présent dans la plupart des frameworks de programmation tels que les scripts ASP, JSP et PHP. Pour l'inclusion de fichiers locaux, un attaquant insère le nom d'un fichier existant sur le serveur local dans une zone d'une application web, comme un en-tête ou un champ de formulaire. L'application traite l'entrée principale normalement, mais exécute également la commande include(page) ou une commande similaire. Dans la traversée de répertoire, l'attaquant définit le chemin d'accès à un fichier suspect, généralement en utilisant les caractères point-point-slash (../) comme variables. C'est très similaire à Columbo : le pirate ne se soucie pas vraiment de la première partie de l'argument. C'est simplement un moyen pour lui d'ajouter « juste une dernière chose » à la fin.
Dans les deux cas, l'attaquant doit normalement effectuer un nombre important d'essais et d'erreurs. À moins d'être très familier avec la structure du site, deviner les configurations de chemin et les noms de fichiers peut prendre beaucoup de temps. Cela dit, la plupart des sites suivent des modèles spécifiques et possèdent des répertoires et des noms de fichiers plus ou moins similaires. Cela pourrait donc prendre moins de temps que vous ne le pensez. Et étant donné que le gain est potentiellement très lucratif, les pirates sont fortement incités à essayer d'exploiter ces vulnérabilités une fois découvertes.
Pourquoi les vulnérabilités d'inclusion de fichiers locaux et de traversée de répertoire sont-elles dangereuses ?
Les vulnérabilités d'inclusion de fichiers locaux et de traversée de répertoire sont dangereuses car elles peuvent permettre aux attaquants d'accéder à des fichiers sensibles ou critiques. Pour les fichiers de données, le danger est que le pirate puisse obtenir des informations précieuses telles que des mots de passe utilisateur ou d'autres données personnelles. Une cible privilégiée est souvent constituée par les fichiers de configuration des mots de passe ou des utilisateurs, car cela donnerait accès au reste du site. Les bases de données sont également des cibles de choix. Dans le pire des cas, ces vulnérabilités pourraient permettre à un attaquant de voler l'intégralité du contenu d'une base de données.
Pour les fichiers exécutables, le danger est que l'accès à ceux-ci pourrait permettre à un attaquant d'effectuer des activités malveillantes, comme détruire une partie d'un site ou même monter un type d'attaque par déni de service interne en gaspillant les ressources système. Mais l'ampleur réelle du danger n'est limitée que par l'ingéniosité et les compétences de l'attaquant, ainsi que par les fichiers déjà présents sur le serveur cible auxquels il peut accéder.
Éliminer la menace posée par l'inclusion de fichiers locaux et la traversée de répertoire
Le danger posé par ces vulnérabilités peut être éliminé grâce à de bonnes pratiques de cybersécurité. La chose la plus importante à retenir est de ne jamais autoriser les entrées utilisateur dans les commandes « file include » ou d'autres fonctions similaires. Si une application doit les autoriser, ne transmettez pas directement l'entrée. Utilisez plutôt une table de correspondance indirecte. Celle-ci prend l'entrée utilisateur et la fait correspondre à un ensemble de valeurs de confiance codées en dur qui peuvent ensuite être utilisées en toute sécurité.
Comme pour beaucoup d'autres vulnérabilités, portez une attention particulière à toutes les zones d'entrée contrôlées par l'utilisateur, telles que les cookies, les en-têtes HTTP et les paramètres de formulaire. Les entrées autorisées doivent être placées sur liste blanche, tout le reste étant explicitement refusé. Lorsque cela n'est pas possible, utilisez la validation des entrées pour réguler strictement les valeurs autorisées, telles que les nombres, les valeurs alphanumériques, etc.
Plus d'informations sur l'inclusion de fichiers locaux et la traversée de répertoire
Pour aller plus loin, vous pouvez consulter le guide de test de l'OWASP pour les exploits d'inclusion de fichiers locaux et de traversée de répertoire. Vous pouvez également mettre vos nouvelles connaissances défensives à l'épreuve avec la démo gratuite de la plateforme Secure Code Warrior, qui forme les équipes de cybersécurité à devenir des cyber-guerriers ultimes. Pour en savoir plus sur la façon de contrer cette vulnérabilité et une galerie d'autres menaces, visitez le blog de Secure Code Warrior.
Gouvernez le développement assisté par IA avant la mise en production
Évaluez les risques liés à l'IA, appliquez des politiques de codage sécurisé dès le commit et accélérez la livraison sécurisée tout au long de votre cycle de développement.
Explorer plus d'articles
Accédez à du contenu expert sur le codage sécurisé, la gouvernance de l'IA et la gestion des risques logiciels.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Une culture de la sécurité : comment Sage a bâti son programme de champions
Découvrez comment Sage a renforcé sa sécurité grâce à une approche flexible axée sur les relations humaines, formant plus de 200 champions de la sécurité et obtenant une réduction mesurable des risques.

Mois de la sensibilisation à la cybersécurité 2026 : comprendre la sécurité de l'IA est essentiel à la défense de l'entreprise
Nous avons atteint un point où la plupart des grandes entreprises d'IA ont publiquement appelé à un ralentissement mondial du développement de l'IA afin de permettre aux garde-fous de sécurité de rattraper leur retard. Pourtant, la réalité est que de graves problèmes de sécurité se sont déjà concrétisés. Cela place d'innombrables responsables de la sécurité et équipes de direction dans une situation d'urgence, alors que les coûts financiers et les risques liés à la mise en œuvre de l'IA ne cessent de s'accumuler.

Levier 8 : Valoriser votre programme
Un programme de codage sécurisé a besoin de plus qu'un contenu de qualité pour réussir. Le levier 8 montre comment l'image de marque transforme la participation en une expérience convoitée, axée sur le statut.
.avif)
Chaque employé est désormais en première ligne de la cybersécurité IA
Le paysage technologique des entreprises évolue à une vitesse que peu avaient anticipée avant qu'il ne soit trop tard. Nous avons officiellement franchi le cap du code écrit par l'humain et de l'assistance basique par copilote pour entrer dans l'ère du cycle de vie de développement agentique (ADLC). Si les agents IA autonomes promettent une efficacité sans précédent dans de multiples fonctions, ils apportent également une toute nouvelle catégorie de risques en matière de sécurité et de réglementation.
Sécurisez le développement piloté par l'IA avant le déploiement
Identifiez les risques de développement, appliquez vos politiques et prévenez les vulnérabilités tout au long du cycle de vie de vos logiciels.
