Vous ne voulez pas qu'un visiteur indésirable traverse le système de fichiers de votre serveur, mais les attaquants ont trouvé un moyen d'y parvenir. Que pouvez-vous faire?

Lorsque les utilisateurs visitent votre site Web, ils sont convaincus 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 à voir. 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 des fichiers sensibles qui devraient être restreints.

Ces attaques tirent parti 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 allons explorer 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 d'annuaire?

instagram viewer

La traversée de répertoire 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 peut accéder ou 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épertoire 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 être en mesure d'accéder à des fichiers confidentiels sur le serveur, tels que des fichiers de configuration de base de données, des fichiers de code source, des fichiers de mots de passe et des fichiers journaux.

Directory Traversal et la triade de la CIA

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

Confidentialité

Les attaques par traversée de répertoire enfreignent la confidentialité car des fichiers restreints et sensibles contenant des informations sur le système et d'autres utilisateurs deviennent accessibles à l'attaquant. Toutes les informations qui n'appartiennent pas à un utilisateur doivent être gardées secrètes et ne doivent pas être accessibles aux 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 avec la possibilité pour les 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 peut être en mesure de modifier ou supprimer des fichiers ou répertoires importants sur le serveur, compromettant 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 l'attaquant augmentant les privilèges et surchargeant le serveur avec des requêtes provoquant son plantage.

Comment fonctionne une attaque par traversée de répertoire?

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 à élaborer 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: https://www.website.com/download_file.php? nom_fichier=fichier.pdf. Cela signifie que l'application Web appelle le fichier "file.pdf" depuis le serveur en utilisant un chemin d'URL relatif. Dans ce cas, l'application lit à partir du chemin: www/var/documents/fichier.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 remonter 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? nom_fichier=../../../../../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 en 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 comptes d'utilisateurs locaux sur le système, tels que les noms d'utilisateur, les ID d'utilisateur, les répertoires personnels et le shell préférences. 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 d'octet nul.

Pourquoi les attaques par traversée d'annuaire sont-elles si dangereuses?

Les attaques par traversée de répertoire sont considérées comme très dangereuses car elles ne sont presque jamais des attaques autonomes. Une vulnérabilité de traversée de répertoire, lorsqu'elle est exploitée, pourrait entraîner plusieurs autres vulnérabilités. Certaines de ces vulnérabilités incluent :

Divulgation d'information

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 entraîner 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 aux 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épertoire 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. Dans un LFI attaque, 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. 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 ne contient que les caractères attendus et ne contient aucun caractère spécial ou séparateur de chemin. Une autre recommandation consiste à utiliser des filtres et des valeurs autorisées sur liste blanche pour comparer les entrées des utilisateurs 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épertoire est d'éviter de permettre aux utilisateurs de fournir des entrées au système de fichiers.

Adoptez une approche proactive de votre sécurité

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

De plus, restez à jour avec les derniers correctifs et mises à jour de sécurité 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 de la 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.