Directory Traversal - PortSwigger (Writeup)

Le Directory Traversal ou "Path Traversal" est une vulnérabilité qui permet à un attaquant d'accéder à des fichiers ou des répertoires situés en dehors du répertoire web prévu par le développeur. Cette attaque se produit lorsque l'application web ne valide pas correctement l'entrée de l'utilisateur, permettant ainsi l'utilisation de caractères spéciaux comme ../ pour remonter dans l'arborescence des répertoires du serveur et accéder à des fichiers sensibles (par exemple, des fichiers de configuration ou des fichiers contenant des informations d'identification).

Directory Traversal Attacks:

File path traversal, simple case:

Ce laboratoire contient une vulnérabilité de traversal de répertoires dans l'affichage des images de produits.

Pour résoudre le laboratoire, récupérez le contenu du fichier /etc/passwd

File path traversal, traversal sequences blocked with absolute path bypass:

Ce laboratoire contient une vulnérabilité de traversée de répertoires dans l'affichage des images de produits.

L'application bloque les séquences de traversée, mais traite le nom de fichier fourni comme étant relatif à un répertoire de travail par défaut.

Pour résoudre le laboratoire, récupérez le contenu du fichier /etc/passwd.

Il y a des fois où automatiquement il prend le fichier depuis la racine et il n'est pas nécessaire de revenir en arrière comme dans ce cas où il l'interprète.

File path traversal, traversal sequences stripped non-recursively:

Ce laboratoire contient une vulnérabilité de parcours de chemin dans l'affichage des images de produits.

L'application supprime les séquences de parcours de chemin du nom de fichier fourni par l'utilisateur avant de l'utiliser.

Pour résoudre le laboratoire, récupérez le contenu du fichier /etc/passwd.

La chaîne ....//....//....//etc/passwd est un exemple d'obfuscation du filtrage de chaînes. Cette séquence, appelée "dot-dot-slash", est utilisée pour remonter d'un niveau de répertoire.

File path traversal, traversal sequences stripped with superfluous URL-decode:

Ce laboratoire contient une vulnérabilité de traversée de répertoires dans l'affichage des images de produits.

L'application bloque les entrées contenant des séquences de traversée de répertoires. Elle effectue ensuite un décodage d'URL de l'entrée avant de l'utiliser.

Pour résoudre le laboratoire, récupérez le contenu du fichier /etc/passwd.

Nous encodons en URL la barre oblique /, puis le pourcentage à nouveau : ..%2f%252f.

File path traversal, validation of start of path:

Ce laboratoire contient une vulnérabilité de traversée de répertoires dans l'affichage des images de produits.

L'application transmet le chemin complet du fichier via un paramètre de requête et vérifie que le chemin fourni commence par le dossier attendu.

Pour résoudre le laboratoire, récupérez le contenu du fichier /etc/passwd.

Dans ce cas, la variable est configurée pour afficher des images qui se trouvent exclusivement dans le répertoire /var/www/images/. Pour contourner cette validation, il suffit d'être dans le répertoire mais de revenir en arrière, par exemple en utilisant /var/www/images/../../../etc/passwd.

File path traversal, validation of file extension with null byte bypass:

Ce laboratoire contient une vulnérabilité de traversée de chemin dans l'affichage des images des produits.

L'application vérifie que le nom de fichier fourni se termine par l'extension de fichier attendue.

Pour résoudre le laboratoire, récupérez le contenu du fichier /etc/passwd.

Il est nécessaire de terminer avec l'extension .jpg. Nous allons donc utiliser le concept de l'injection de null byte pour isoler le .jpg et le faire interpréter comme tel en utilisant '%00'."

Mis à jour

Ce contenu vous a-t-il été utile ?