lundi 25 février 2013

Failles UPLOAD

Salut à tous, nouvelle article pour ce jour qui concerne les failles de type upload.
Alors déjà pourquoi je mets un "s" à failles? car tout simplement il existe plusieurs type d'attaques pour une vulnérabilité upload, voici celles que je connais:

0x01~# Type MIME
0x02~# Double extensions
0x03~# Null bytes

Pour commencer:
L’upload permet le transfert de 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.
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.




0x01~# Type MIME

Cette vulnérabilité  va permettre de <<bypasser>> la vérification mime
Je m'explique, quand on envoi un fichier sur le serveur un contenu POST est envoyé.
Dans ce contenu, on pourra voir de quel genre de fichier il s'agit.

Ex: Si on upload un fichier php ça nous renvoi
application/octet-stream


Pour bypasser, il nous suffira de changer la valeur de POST (dans ce cas il nous faudra changer le application/octet-stream par quelque chose qu'on nous autorise, si on nous autorises les images PNG on n'a qu'à marquer image/png)

Mais comment? Grâce à un module firefox: TemperData. Qui lui est disponible sur toutes les versions du renard comparé à http header qui est bien connu aussi.

Pour cela, quand vous envoyez le fichier, avant faites "altérer les donnés" puis uploadé, normalement une fenêtre s'ouvre, cliquez sur "Altérer" (et décoché si nécessaire la case)
Après vous n'avez qu'à faire comme je l'ai dit au dessus :)!

Cette faille est du au code mal coder </troll>
$_FILES[‘uploadedfile’][‘type’]

0x02~# Double extensions

Comme son nom l'indique, il suffit de mettre deux extensions soit
backdoor.php.png
Cette faille est du à apache qui lit les fichier php et png
pour sécurisé il suffit d'interdire la lecture des fichiers php (si vous ne savez pas coder :')

 0x03~# Null byte

 un null byte ressemble à ça on peut l'écrire de différentes facons selons la version du serveur
/0 ; ; % 00 ..

C'est en fait la version chiffré de la valeur NULL.
La faille est présente car le serveur lui-même l'interprète en tant que fin d'un string.

Pour l'exploité vous n'avez qu"à changer le contenu du POST; dans le nom du fichier rajouter le nullbyte (ex: shell.php.png) et validé. Vous pouvez aussi directement modifier le nom du fichier avant de l'uploadé

END 

à noté que vous pouvez fusionner ses techniques! 
 Vous êtes maintenant capable de réaliser 3 challenges de root me dans la catégorie web-serveur!
  
TOP RESSOURCE(s):
 LINK

13 commentaires:

  1. Magnifique Tuto.

    Eagle.

    RépondreSupprimer
  2. Tutoriel plus que parfait.

    Cordialement,
    Predat0r

    RépondreSupprimer
  3. add my :)
    If you want to talk about Private
    this is im :)
    http://www.root-me.org/HB-DZ?inc=score&lang=fr
    www.faecbook.com/hbdz.phtml

    RépondreSupprimer
  4. j'aurais aimer plus d'exemple mais sinon c'est good ;)

    Code.

    RépondreSupprimer