Failles UPLOAD
lundi, février 25, 2013
By
Shirobi lab's
Hacking
13
commentaires
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:
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
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 .
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
Magnifique Tuto.
RépondreSupprimerEagle.
Merci Eagle, ça me fait plaisir de voir enfin un commentaire :)
SupprimerTrès bon article ! Comme d'habitude :P
SupprimerMerci bien :)
SupprimerTutoriel plus que parfait.
RépondreSupprimerCordialement,
Predat0r
Avec plaisir :)
RépondreSupprimerc'est à chier...
RépondreSupprimerMerci :')
SupprimerC'est ta tête qui est à chier illétré.
SupprimerMerci ;)
SupprimerPs : illettré *
Excusez-moi, erreur de ma part.
Supprimeradd my :)
RépondreSupprimerIf 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
j'aurais aimer plus d'exemple mais sinon c'est good ;)
RépondreSupprimerCode.