Les attaques par traversée de répertoire, également appelées attaques par traversée de chemin, représentent un risque important dans le domaine de la sécurité Web. Ils exploitent principalement la faille de sécurité dans la fonction d'accès d'une application Web aux fichiers présents sur le serveur. Ces attaques permettent à un utilisateur malveillant d'accéder à des fichiers et des répertoires stockés en dehors du dossier webroot en manipulant des variables qui référencent des fichiers avec des séquences « point-point-slash (../) ».
L'évolution des attaques par traversée d'annuaire
L’origine des attaques par traversée de répertoires remonte aux débuts d’Internet, lorsque les applications Web ont commencé à utiliser des scripts pour accéder aux fichiers côté serveur. À mesure que la technologie progressait et que les applications Web devenaient plus complexes, le potentiel de ces types de vulnérabilités augmentait également.
La première mention publique des attaques par traversée de répertoires est quelque peu difficile à identifier en raison de la nature fondamentale de cette vulnérabilité. Cependant, le problème de la sécurité est devenu plus important à la fin des années 1990 et au début des années 2000, à mesure que les applications Web devenaient monnaie courante et que les possibilités d'exploitation de références de fichiers non sécurisées augmentaient.
Extension des attaques par traversée de répertoires
Une attaque par traversée de répertoire est une forme d'exploit HTTP dans laquelle un pirate informatique accède au répertoire d'un serveur qui n'est généralement pas accessible au public. L'attaquant exploite une validation de sécurité ou une désinfection insuffisante des noms de fichiers d'entrée fournis par l'utilisateur, lui permettant ainsi de sortir de l'environnement contraint.
L'utilisation la plus courante des séquences de parcours de répertoires concerne les attaques basées sur les URL, mais elles peuvent également apparaître dans les injections d'en-tête, les manipulations de cookies ou même dans les paramètres POST. Grâce à cela, les attaquants peuvent afficher des répertoires restreints et exécuter des commandes en dehors du répertoire racine du serveur Web, obtenant ainsi un accès non autorisé à des informations sensibles.
Comment fonctionnent les attaques par traversée de répertoires
Une attaque par traversée de répertoire fonctionne en exploitant une validation/nettoyage de sécurité insuffisante des noms de fichiers d'entrée fournis par l'utilisateur, de sorte qu'un attaquant peut les manipuler pour sortir de l'emplacement restreint.
Sous une forme trop simplifiée, considérons un scénario dans lequel une application tente d'accéder à un fichier image depuis le serveur :
arduinohttp://example.com/app?file=logo.jpg
Dans ce cas, l'application ouvrirait le fichier logo.jpg
à partir de son répertoire d'images. Cependant, un attaquant pourrait utiliser les séquences « point-point-slash (../) » pour remonter jusqu'au répertoire parent, puis accéder aux fichiers non autorisés. Par exemple:
frapperhttp://example.com/app?file=../../etc/passwd
Cela pourrait entraîner l'affichage par l'application de fichiers système sensibles.
Principales caractéristiques des attaques par traversée de répertoires
-
Manipulation des variables : La caractéristique fondamentale d'une attaque par traversée de répertoire implique la manipulation de variables qui font référence à des fichiers avec des séquences « point-point-slash (../) ».
-
Briser les contraintes : Cela permet à l'attaquant de sortir du répertoire racine de l'application et d'accéder à d'autres parties du système de fichiers.
-
Exploiter une validation faible : Les attaques par traversée de répertoire exploitent une validation ou une désinfection faible des entrées utilisateur.
Types d'attaques par traversée de répertoires
Bien que le principe de base des attaques par traversée de répertoire reste le même, elles peuvent se manifester de différentes manières en fonction du contexte et de l'application en question :
-
Attaques basées sur les URL : Celles-ci impliquent l’injection d’entrées malveillantes dans l’URL pour parcourir des répertoires.
-
Attaques basées sur les formulaires : Des entrées malveillantes sont insérées dans les champs de formulaire pour exploiter les scripts vulnérables côté serveur.
-
Attaques basées sur les cookies : Les attaquants manipulent les cookies pour parcourir des répertoires et accéder à des données non autorisées.
Taper | Description |
---|---|
Attaques basées sur les URL | Injectez une entrée malveillante dans l’URL pour parcourir les répertoires. |
Attaques basées sur les formulaires | Insérez des entrées malveillantes dans les champs de formulaire pour exploiter les scripts côté serveur. |
Attaques basées sur les cookies | Manipulez les cookies pour parcourir les répertoires et accéder aux données non autorisées. |
Problèmes et solutions associés aux attaques par traversée d'annuaire
Le principal problème des attaques par traversée de répertoires est l’accès non autorisé aux fichiers et données sensibles. Cela peut entraîner une fuite de données, une perte de confidentialité et potentiellement fournir à l'attaquant d'autres vecteurs d'attaque (comme l'obtention d'informations d'identification de base de données à partir de fichiers de configuration).
Voici quelques solutions :
-
Validation des entrées : Assurer une validation robuste des entrées fournies par l’utilisateur. N'autorisez pas « .. » ou « / » dans les entrées.
-
Contrôle d'accès: Mettre en œuvre un contrôle d’accès approprié. Ne comptez pas uniquement sur le chemin du fichier fourni pour autoriser l'utilisateur.
-
Principe du moindre privilège : Exécutez l'application avec le moins de privilèges nécessaires, réduisant ainsi les dommages potentiels d'une attaque par traversée de répertoire.
Attaques par traversée d'annuaire et termes similaires
Terme | Description |
---|---|
Attaque par traversée de répertoire | Exploite une vulnérabilité dans les procédures de saisie utilisateur pour accéder aux fichiers et répertoires non autorisés. |
Inclusion de fichiers distants (RFI) | Un attaquant utilise les voies de saisie de l'utilisateur pour télécharger un script malveillant sur le serveur d'un site Web. |
Inclusion de fichiers locaux (LFI) | Un attaquant manipule un site Web pour exécuter ou révéler le contenu des fichiers sur le serveur Web. |
Perspectives futures et technologies liées aux attaques par traversée d'annuaire
À mesure que le paysage du développement Web évolue, les méthodes et les outils permettant d'effectuer des attaques par traversée de répertoires peuvent devenir plus sophistiqués. Néanmoins, le fondement de la prévention reposera probablement toujours sur une validation robuste des entrées et une configuration judicieuse du système.
Les pare-feu d'applications Web, les systèmes de détection d'anomalies et les algorithmes d'apprentissage automatique pour les systèmes de détection d'intrusion pourraient jouer un rôle important dans les futures stratégies d'atténuation de telles attaques.
La connexion entre les serveurs proxy et les attaques par traversée d'annuaire
Les serveurs proxy peuvent servir de couche de sécurité supplémentaire contre les attaques par traversée de répertoires. En filtrant les requêtes et les réponses entre le client et le serveur, ils peuvent aider à détecter des modèles ou des signes inhabituels d'attaques par traversée de répertoires, les empêchant ainsi d'atteindre le serveur.
OneProxy, par exemple, fournit une solution de serveur proxy robuste qui peut jouer un rôle clé dans votre stratégie de défense contre ce type d'attaques.