Breaking News
Home / Hacking / Tutoriels Hacking / Le Directory Traversal

Le Directory Traversal

Définition
Le directory traversal (parfois appellé directory transversal) n'est pas réellement une faille spéciale mais une technique de navigation qui peut souvent être exploitée (souvent spécifique des langages et du serveur Web). En fait, on se sert des liens symboliques . et .. qui signifient respectivement "le dossier où je me trouve" et "le dossier parent de celui où je me trouve". Le but est d'écrire des URLs utilisant cette technique de navigation et ainsi accéder à du contenu inaccessible autrement, voire protégé. Puisque il n'y a pas d'exploitation particulière liée à cette technique, nous ne pouvons pousser la théorie plus loin. En réalité, l'exploitation de cette technique intervient souvent dans l'exploitation d'autres failles. Nous allons cependant vous clarifier cette technique dans un exemple typique, les scripts de lecture de données prédéfinies (articles, images, etc..) qui peut facilement être détourné.

Un petit exemple
Nous avons repris l'exemple précédent de la faille de type injection SQL. Nous imaginons que le webmaster, s'étant aperçu de sa bourde, a décidé de tout simplement changer son système de protection : il utilise désormait les fichiers .ht* qui lui permettent de sécuriser parfaitement son site par mot de passe :

Protection :

1-htaccess-protected
2-auth-required

Intéressons nous maintenant à la page principale du site, composée pour l'instant de seulement deux pages : index.php, l'index du site, apparemment destiné à contenir des articles, etbienvenue.txt, le premier et pour l'instant unique article :

<!-- index.php - Bases Hacking News -->

<html>

<head>

      <div align="center"><h1>Serious Hacking News !</h1></div>

 

    <title>Exploitation d'un directory transversal</title>

</head>

<body>

      <?

        if (@$_GET["article"] && file_exists("./".$_GET["article"]))

          echo file_get_contents("./".$_GET["article"]);

        else echo "Veuillez sélectionner un article dans la liste ci-desous :<br><ul><li><a href=\"./?article=bienvenue.txt\">Bienvenue</a></li></ul>";

 

      ?>

</body>
</html>

<!-- Maintenant, bienvenue.txt -->

Nous vous souhaitons la bienvenue sur notre site ! Ce système de news est actuellement en construction, mais nous allons bientôt vous présenter tout plein d'articles plus instructifs les uns ques les autres !
Et maintenant, puisque le .htaccess est toujours à la racine des dossiers protégés, on peut essayer d'afficher en demandant l'article ../admin/.htaccess :

Affichage du .htaccess:
3-htaccess

 

Nous avons donc maintenant le positionnement du .htpasswd, fichier des mots de passe, essayons donc l'article ../admin/doss_mdp/.htpasswd et observons :

Affichage du .htpasswd :
4-htpasswd
5-passwd

Comme prévu, le contenu du fichier ayant les mots de passes nous est révélé.
Cet exemple illustre comment grâce au directory transversal nous avons pu afficher des fichiers qui sont en théorie inaccessibles (par défaut apache interdit d'afficher toutes les pages .ht*), ici nous demandons donc de lire le fichier en local, et ensuite de l'afficher à l'écran.
On imagine ce qui aurait pu se passer quand, comme dans certains sites, il est possible de poster ses propres articles, qui sont écrits dans un fichier du serveur avec comme nom de fichier le sujet de l'article. Il suffit alors de le nommer par exemple ../index.html pour "defacer" le site. Ceci dit, les CMS s'étant démocratisés, les vulnérabilités aussi graves deviennent de plus en plus rares (actuellement, on les voit surtout sur du développement spécifique).

Le dirctory traversal n'est pas une vulnérabilité exposant le système ou le client comme les includes ou les failles XSS mais elle permet une exploitation plus aisée d'autres vulnérabilités.

 

 

 

Check Also

Scanner des failles VNC avec Dfind

    DOWNLOAD : Scanner des failles VNC avec Dfind Related posts:[Hacking] Stealing cookies : Comment ...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.