• STATISTIQUES
  • Il y a eu un total de 0 membres et 37088 visiteurs sur le site dans les dernières 24h pour un total de 37 088 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Net Force
    Javascript: 9, Java Applets: 6, Cryptography: 16, Exploits: 7, Cracking: 14, Programming: 13, Internet: 15, Steganograph...
    Challenges
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [EN] social-engineer
    Site dédié au Social Engineering en général.
    Hacking
    [EN] Dare your mind
    JavaScript: 6, Crypto: 44, Stegano: 36, Logic: 13, Special: 27, Science: 11, Realistic: 7, Programming: 10, Crack It: 6,...
    Challenges
    [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking
    [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Failles UPLOAD

#Tutorial taken from my blog
#J'mettrais les jolies jolies couleurs demain, j'ai un train à 6 heure demain enfin ce matin lol.

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 envoie 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 renvoie
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 autorise 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 Smile!

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 fichiers 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 ..

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%00.png) et validé. Vous pouvez aussi directement modifier le nom du fichier avant de l'uploadé.

0x04~# Sécurisation

Merci à Khaled.

Pour rigoler (cela n'est pas une véritable protection je dirais) on peut calculer le nombre d'extensions présentes dans le fichier et annuler le script si c'est supérieur à un.
Code PHP :

if(count(explode('.',$filename))>2)exit();
 


on peut également rechercher le null byte
Code PHP :

if(strpos($chaine,chr(0)) !== false)
{
echo "ca va pas etre possible...";
exit();
}
 


pour les images, on peut les redimensionner, afin de tester si c'est vraiment une image.

Ouvrir un fichier et rechercher un tag

Code PHP :

$file = fopen($local_file, "r");
while(!feof($file))
{
if (stripos(fread($file, 1000), '<?php') !== false)exit();
}
fclose($file);

(j'ai pas du tout tester ce code par contre...) et puis si la balise se trouve à cheval sur deux segments, on est mal..

Une meuilleur protection serais de renommer le fichier :
Code PHP :

echo date('Y-m-d_H:i'). rand(0,100).'.file';
 


pour vraiment s'en protéger, il suffit d'interdire à apache d'éxécuter du code php dans le repertoire utilisé pour les uploads
Code APACHE :

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off
 


EDIT :
Code :
Options -ExecCGI
semble être plus correct Smile

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
10-03-2013, 03h43 (Modification du message : 13-03-2013, 08h59 par InstinctHack.)
Message : #1
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Failles UPLOAD
Bon tuto d'explication, mais les codes manquent Sad

[Explications et rajouts insérés dans le tuto]
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
25-03-2013, 03h14 (Modification du message : 25-03-2013, 14h21 par InstinctHack.)
Message : #2
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Failles UPLOAD
EDIT : autant pour moi, j'avais pas remarqué l'italique --"
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
25-03-2013, 14h12
Message : #3
Shirobi Hors ligne
Bannis



Messages : 207
Sujets : 19
Points: 17
Inscription : Oct 2012
RE: Failles UPLOAD
C'est moi qui a écrit intégralement le tutoriel! seul les choses en italiques viennent de wikipedia!
Je n'ai pas posté que sur n-pn, également sur d'autres forums ainsi que mon blog!