Ce simple visualiseur de fichiers utilise la concaténation directe de chaînes pour construire les chemins de fichiers, créant l'opportunité parfaite pour des attaques de traversée de répertoire. La traversée de répertoire est une vulnérabilité web fondamentale qui permet aux attaquants d'accéder à des fichiers en dehors du répertoire prévu, exposant potentiellement des fichiers système sensibles et des données de configuration. L'application fait confiance aux entrées utilisateur sans validation - une erreur classique qui ouvre la porte à l'exploitation du système de fichiers !
La traversée de répertoire (aussi connue sous le nom de traversée de chemin) est une vulnérabilité fondamentale de sécurité web qui permet aux attaquants d'accéder à des fichiers et répertoires en dehors du périmètre prévu de l'application. En manipulant les entrées de chemins de fichiers avec des séquences de caractères spéciaux, les attaquants peuvent lire des fichiers système sensibles, le code source de l'application et des fichiers de configuration contenant des identifiants. Ce type de vulnérabilité est présent de manière constante dans les évaluations de sécurité web depuis des décennies.
Les applications web servent fréquemment des fichiers basés sur des entrées fournies par l'utilisateur - que ce soit via des paramètres d'URL, des champs de formulaire ou des requêtes API. Lorsque l'application construit des chemins de fichiers en concaténant directement l'entrée utilisateur sans validation appropriée, les attaquants peuvent utiliser des séquences ../ (point-point-barre oblique) pour remonter l'arborescence des répertoires et accéder à des fichiers en dehors de la racine web. Par exemple, demander ../../etc/passwd tenterait de lire le fichier de mots de passe Linux en remontant de deux répertoires au-dessus du répertoire de service de fichiers de l'application.
La traversée de répertoire basique utilise de simples séquences ../, mais l'exploitation réelle nécessite souvent des techniques de contournement. L'encodage URL (%2e%2e%2f), le double encodage URL (%252e%252e%252f) et l'utilisation de barres obliques inversées sur les systèmes Windows (..\) peuvent contourner les filtres d'entrée basiques. Certaines applications suppriment les séquences ../ une seule fois, ce qui peut être contourné avec ....// (les caractères restants forment ../ après la suppression). L'injection d'octets nuls (%00) a historiquement été utilisée pour tronquer les extensions de fichiers. Comprendre ces techniques est essentiel pour des tests de sécurité approfondis.
Des vulnérabilités de traversée de répertoire ont été découvertes dans des serveurs web, des systèmes de gestion de contenu, des applications de partage de fichiers et des plateformes cloud. Une exploitation réussie peut révéler des identifiants de base de données, des clés API, des certificats SSL et d'autres données de configuration sensibles. Dans les cas graves, les attaquants combinent la traversée de répertoire avec des vulnérabilités de téléchargement de fichiers pour obtenir l'exécution de code à distance. La défense nécessite une validation appropriée des entrées, la canonicalisation des chemins de fichiers avant utilisation, des jails chroot ou la conteneurisation et le principe du moindre privilège pour l'accès au système de fichiers de l'application.
Créez un compte gratuit et pratiquez la cybersécurité.
Créez un compte gratuit pour démarrer votre propre serveur dédié, soumettre des flags et gagner des XP au classement.
Commencer à Hacker GratuitementLabs qui partagent des compétences similaires
Choisissez comment vous voulez commencer
Connectez-vous à votre compte