Blog

Les codeurs conquièrent la sécurité : série Share & Learn - Inclusion de fichiers locaux et traversée de chemins

July 4, 2019
Jaap Karan Singh

Contrairement à de nombreuses vulnérabilités, l'exploitation des processus locaux d'inclusion de fichiers et de traversée de chemins à des fins malveillantes nécessite un attaquant suffisamment qualifié, pas mal de temps et peut-être un peu de chance. Cela ne veut pas dire que cette vulnérabilité peut être ignorée. Les attaquants expérimentés peuvent l'utiliser pour retourner des fichiers internes contre une organisation, cartographier une structure de répertoires ou même voler des mots de passe et des informations utilisateur qui peuvent être utilisés pour de dangereuses attaques secondaires.

Dans cet épisode, nous allons apprendre :

  • Comment les pirates informatiques exploitent les vulnérabilités liées à l'inclusion de fichiers locaux et à la traversée de chemins
  • Pourquoi il peut être dangereux d'autoriser l'inclusion illimitée de fichiers locaux et la traversée de chemins
  • Politiques et techniques qui peuvent être utilisées pour détecter et résoudre ce problème.

Comment les attaquants exploitent-ils l'inclusion de fichiers locaux et la traversée de chemins ?

Le détective de télévision classique Columbo avait l'habitude de dire « Encore une chose » juste avant de fournir une information précieuse qui permettrait de résoudre l'affaire en cours. Cela semblait sans importance à l'époque et a presque toujours été ignoré par le suspect, mais cela s'est toujours avéré être leur perte. Les vulnérabilités liées à l'inclusion de fichiers locaux et à la traversée de chemins ressemblent beaucoup à cela.

Les vulnérabilités d'inclusion de fichiers locaux et de traversée de chemin utilisent le mécanisme d'inclusion de fichiers dynamique qui existe 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, telle qu'un en-tête ou une zone de saisie de formulaire. L'application traite l'entrée principale normalement, mais également la commande include (page) ou une commande similaire. Lors de la traversée de chemin, l'attaquant définit le chemin d'accès à un fichier suspect, en utilisant normalement les caractères point, point et barre oblique (../) comme variables. Cela ressemble beaucoup à Columbo dans la mesure où le hacker ne se soucie pas vraiment de la première partie de l'argument. C'est simplement un moyen pour eux d'ajouter « encore une chose » à la fin.

Dans les deux cas, l'attaquant doit normalement effectuer un nombre important d'essais et d'erreurs. À moins qu'ils ne connaissent très bien la structure du site, deviner la configuration des chemins et les noms de fichiers peut prendre beaucoup de temps. Cela dit, la plupart des sites suivent des modèles spécifiques et ont des répertoires et des noms de fichiers plus ou moins similaires. Cela ne prendra donc peut-être pas longtemps, comme vous le pensez. Et étant donné que le paiement est potentiellement très lucratif, les pirates informatiques sont fortement incités à essayer d'exploiter les vulnérabilités d'inclusion de fichiers locaux et de traversée de chemin une fois découvertes.

Pourquoi les vulnérabilités liées à l'inclusion de fichiers locaux et à la traversée de chemins sont-elles dangereuses ?

Les vulnérabilités liées à l'inclusion de fichiers locaux et à la traversée de chemins 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 quelque chose de précieux, comme les mots de passe des utilisateurs ou d'autres informations personnelles. Les fichiers de mot de passe ou de configuration utilisateur constituent souvent une cible principale, car cela permettrait d'accéder au reste du site. Les bases de données sont également des cibles privilégiées. Dans le pire des cas, des vulnérabilités liées à l'inclusion de fichiers locaux et à la traversée de chemins 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 puisse permettre à un attaquant d'effectuer des activités malveillantes telles que la destruction d'une partie d'un site ou même le lancement d'une sorte d'attaque interne par déni de service en gaspillant les ressources du système. Mais l'ampleur du danger n'est limitée que par l'ingéniosité et les compétences de l'attaquant, ainsi que par les fichiers auxquels il peut accéder et qui existent déjà sur le serveur cible.

Supprimer la menace posée par l'inclusion de fichiers locaux et la traversée de chemins

Le danger que représentent les vulnérabilités liées à l'inclusion de fichiers locaux et à la traversée de chemins peut être éliminé grâce à de bonnes pratiques de cybersécurité. La chose la plus importante à retenir est de ne jamais autoriser la saisie par l'utilisateur dans « file include » ou dans d'autres commandes dotées de fonctions similaires. Si une application doit l'autoriser, ne le transmettez pas directement. Utilisez plutôt une carte de référence indirecte. Une carte de référence indirecte prend les données saisies par l'utilisateur et les associe à un ensemble de valeurs fiables codées en dur qui peuvent ensuite être utilisées en toute sécurité.

Comme pour de nombreuses autres vulnérabilités, portez une attention particulière à toutes les zones de saisie 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 mises sur liste blanche, tout le reste étant explicitement refusé. Lorsque cela n'est pas possible, utilisez la validation des entrées pour réglementer strictement les valeurs autorisées, telles que les chiffres, les valeurs alphanumériques, etc.

Informations supplémentaires sur l'inclusion de fichiers locaux et la traversée de chemins

Pour en savoir plus, vous pouvez consulter l'OWASP guide de test pour l'inclusion de fichiers locaux et les exploits de traversée de chemins. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce au démo gratuite de la plateforme Secure Code Warrior, qui forme les équipes de cybersécurité à devenir les meilleurs cyberguerriers. Pour en savoir plus sur les moyens de neutraliser cette vulnérabilité et consulter une galerie d'autres menaces présentées par des escrocs, rendez-vous sur Blog Secure Code Warrior.

Slogan

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
Slogan

Explore more blogs

Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.

browse all
Case Study
Filter Label
This is some text inside of a div block.

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.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

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

Learn More
Case Study
Filter Label
This is some text inside of a div block.

One Culture of Security: How Sage built their security champions program with agile secure code learning

Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Enabler 7: Developer Recognition

Recognition fuels participation. Enabler 7 celebrates developer achievement loudly, with rewards and exclusive swag that mark real, earned secure coding wins.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Named in the Gartner® Hype Cycle™ for Application Security 2026

Secure Code Warrior is named in the Gartner® Hype Cycle™ for Application Security, 2026 for Agentic Coding Security and Secure Coding Training. Here's why.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Are you a CISO or Engineering Leader worried about the Security and Cost of LLM code generation?

Review the SCW AI Trust Index, our proprietary LLM benchmarking data, before going all-in on an AI model.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Réserver une démo
trust score
No items found.