Qu’est-ce qu’une attaque par traversée de répertoire et comment pouvez-vous la prévenir ?

Lorsque les utilisateurs visitent votre site Web, ils ont confiance que leurs données sont sécurisées et qu'eux-mêmes et les autres utilisateurs ne peuvent pas accéder aux fichiers ou dossiers qu'ils ne sont pas autorisés à consulter. Cependant, si votre site Web est vulnérable à la traversée de répertoires, les attaquants peuvent exploiter cette faiblesse pour passer d'un répertoire à un autre et afficher les fichiers sensibles qui devraient être restreints.

Ces attaques profitent d'une vulnérabilité du système de fichiers de votre site Web et peuvent exposer des informations critiques, entraînant de graves risques de sécurité. Dans cet article, nous explorerons ce que sont les attaques par traversée de répertoires, pourquoi elles sont si dangereuses et comment vous pouvez en protéger votre site Web.

Qu’est-ce que la traversée de répertoires ?

La traversée de répertoires est également connue sous le nom de traversée de chemin ou d'escalade de répertoire. Il s'agit d'une vulnérabilité dans les sites Web où l'attaquant est capable d'accéder ou de lire des fichiers en dehors du répertoire racine du serveur Web exécutant l'application en manipulant l'entrée de l'application Web.

Lorsqu'une attaque par traversée de répertoires est effectuée, les attaquants sont capables de lire et parfois même d'apporter des modifications aux fichiers et répertoires restreints sur le serveur d'applications Web. Ils peuvent accéder aux fichiers confidentiels sur le serveur, tels que les fichiers de configuration de base de données, les fichiers de code source, les fichiers de mots de passe et les fichiers journaux.

La traversée des répertoires et la triade de la CIA

Une traversée de répertoires compromet les trois aspects de ce que l'on appelle la triade de la CIA. La triade de la CIA, qui est un modèle largement reconnu en matière de sécurité de l'information, signifie Confidentialité, Intégrité et Disponibilité.

Confidentialité

Les attaques par traversée de répertoires violent la confidentialité car les fichiers restreints et sensibles contenant des informations sur le système et d'autres utilisateurs deviennent accessibles à l'attaquant. Toutes les informations n'appartenant pas à un utilisateur doivent être gardées secrètes et ne doivent pas être accessibles à des personnes non autorisées. Par exemple, un attaquant accédant à la base de données des utilisateurs et à leurs informations personnelles identifiables (PII), viole la confidentialité du système et des données de l'utilisateur.

Intégrité

Il est important de noter qu’une traversée de répertoire peut ne pas s’arrêter simplement à la capacité des cyberattaquants de lire et d’accéder aux fichiers sur votre serveur Web. Si les autorisations du système de fichiers sur votre serveur ne sont pas configurées correctement, le pirate informatique peut modifier ou supprimer des fichiers ou des répertoires importants sur le serveur, compromettant ainsi l'intégrité des données sur ce serveur. Par exemple, l'attaquant peut être en mesure de modifier un fichier de configuration pour s'accorder un accès administratif au serveur ou supprimer des fichiers système.

Disponibilité

Il existe de nombreuses façons pour un attaquant d'utiliser l'attaque par traversée de répertoire pour compromettre la disponibilité de votre serveur. Un exemple est la suppression de fichiers critiques sur le serveur qui perturbe le fonctionnement du serveur ou empêche l'application Web de répondre. Un autre exemple est celui de l'attaquant qui élève ses privilèges et surcharge le serveur de requêtes, provoquant son crash.

Une attaque par traversée de répertoire peut se produire de différentes manières. Lorsque les attaquants soupçonnent qu'un site Web est vulnérable aux attaques par traversée de répertoires, ils commencent à créer des requêtes malveillantes à envoyer à cette application Web.

Certains sites Web affichent les fichiers via le paramètre URL. Prenez, par exemple, l'URL de ce site Web :https://www.website.com/download_file.php?filename=file.pdf. Cela signifie que l'application Web appelle le fichier « file.pdf » depuis le serveur en utilisant un chemin URL relatif. Dans ce cas, l'application lit à partir du chemin :www/var/documents/file.pdf.

Un exemple simple d’attaque par traversée de répertoire est l’attaque par traversée de répertoire dotdotslash. Dans les systèmes UNIX et Windows, le../les symboles sont utilisés pour revenir en arrière d’un répertoire. L'attaquant peut remplacer le nom du document par../../../../../etc/passwd. L'URL ressemble alors à ceci :https://www.website.com/download_file.php?filename=../../../../../etc/passwd


Crédit image : Marco Verch Photographe professionnel/Flickr

Un attaquant pourrait utiliser cette charge utile dans l'application Web pour parcourir plusieurs répertoires vers l'arrière afin de tenter de récupérer le fichier « /etc/passwd » du système de fichiers du serveur.

Dans les systèmes basés sur Unix, le fichier « /etc/passwd » est un fichier texte brut qui contient des informations sur les comptes d'utilisateurs locaux sur le système, telles que les noms d'utilisateur, les ID utilisateur, les répertoires personnels et les préférences du shell. L'accès à ce fichier peut être utile pour les attaquants car il peut fournir des informations sur les comptes d'utilisateurs potentiels et les vulnérabilités du système.

D'autres formes d'attaques par traversée de répertoire incluent le codage d'URL, le double codage et les attaques par octet nul.

Pourquoi les attaques par traversée de répertoires sont-elles si dangereuses ?

Les attaques par traversée de répertoires sont considérées comme très dangereuses car il ne s’agit presque jamais d’attaques autonomes. Une vulnérabilité de traversée de répertoire, lorsqu'elle est exploitée, pourrait conduire à plusieurs autres vulnérabilités. Certaines de ces vulnérabilités incluent :

Divulgation d'informations

La divulgation d'informations se produit lorsqu'un attaquant accède à des informations sensibles qu'il n'est pas autorisé à voir. Les attaques par traversée de répertoire peuvent conduire à des vulnérabilités de divulgation d'informations car elles permettent aux attaquants d'accéder à des fichiers et des répertoires en dehors de la portée prévue d'une application Web. En utilisant des charges utiles de traversée de répertoires et des requêtes malveillantes, les attaquants peuvent gravir les échelons de la hiérarchie des répertoires pour accéder potentiellement à des fichiers et répertoires sensibles sur un serveur. Cette vulnérabilité peut être exploitée pour extraire des informations sensibles telles que des mots de passe ou des données utilisateur.

Inclusion de fichiers locaux

La traversée de répertoires peut également conduire à des attaques par inclusion de fichiers locaux (LFI). LFI est une vulnérabilité dans les applications Web qui permet à un attaquant d'inclure et d'exécuter des fichiers stockés sur le même serveur que l'application Web. Lors d'une attaque LFI, un attaquant peut utiliser les paramètres d'entrée d'une application Web pour spécifier un chemin de fichier local, qui est ensuite inclus par l'application Web sans validation appropriée. Cela permet à un attaquant d'exécuter du code arbitraire, d'afficher des informations sensibles ou de manipuler le comportement de l'application.

Comment pouvez-vous empêcher une attaque par traversée de répertoire ?

Pour commencer, validez la saisie de l'utilisateur avant de la traiter pour vous assurer qu'elle contient uniquement les caractères attendus et ne contient aucun caractère spécial ni séparateur de chemin. Une autre recommandation consiste à utiliser des filtres et des valeurs autorisées sur liste blanche pour comparer les entrées de l'utilisateur et bloquer les valeurs suspectes. Mais toutes ces méthodes pourraient être contournées par un hacker expérimenté.

La meilleure approche pour empêcher les attaques par traversée de répertoires est d’éviter complètement de permettre aux utilisateurs de fournir des entrées au système de fichiers.

Adoptez une approche proactive pour votre sécurité

Il existe de nombreuses vulnérabilités dans le cyberécosystème. Pour protéger vos actifs contre les vulnérabilités, vous devez effectuer régulièrement des évaluations de sécurité et des tests d'intrusion pour identifier les faiblesses potentielles et les corriger avant qu'elles ne puissent être exploitées par des attaquants.

De plus, restez à jour avec les derniers correctifs de sécurité et mises à jour pour vos logiciels et systèmes, car de nombreuses vulnérabilités peuvent être corrigées avec ces mises à jour. En adoptant une approche proactive en matière de cybersécurité, vous pouvez contribuer à garantir que les actifs de votre organisation sont protégés contre les vulnérabilités et restent à l'abri des cybermenaces.

Related Posts