Page 1 sur 1

Faille dans ce script d'upload ?

Posté : 12 sept. 2013, 01:34
par leo45vl
Bonjour,
J'aimerais savoir si il a une faille dans ce script:
<?php
// upload de l'image //
$hasard = rand(1, 100000000000000) ;

if ($hasard >3){
$resultat=rand(20,100000000000000);

}else{

$resultat=$hasard ;

}
$nomOrigine = $_FILES['image']['name'];
$elementsChemin = pathinfo($nomOrigine);
$extensionFichier = $elementsChemin['extension'];
$extensionsAutorisees = array("gif", "png", "ico","jpeg", "jpg", "GIF","JPG","JPEG","PNG");
if (!(in_array($extensionFichier, $extensionsAutorisees))) {
    echo "Mauvais format d'image";
} else {
    // Copie dans le repertoire du script avec un nom
    // incluant l'heure a la seconde pres 
    $repertoireDestination = dirname (__FILE__)."/i/";
    $nomDestination = "upload_".$resultat.".".$extensionFichier;

    if (move_uploaded_file($_FILES["image"]["tmp_name"], 
                                     $repertoireDestination.$nomDestination)) {
    }
}

// fin upload image //
?>
Merci beaucoup,
Léo45vl

Re: Faille dans ce script d'upload ?

Posté : 12 sept. 2013, 07:17
par moogli
Salut,

Oui une belle mais masquée par le fait de renommer le fichier mais ont ne sais jamais il suffit d'avoir le nom du fichier.

Une explication ?

Tu peux mettre ce que tu veux dans ce fichier, comme par exemple du php mais vraiment tous çela que tu veux vu que tu ne vérifie que l'extension et que celle ci est modifiable.
Test aussi le type mime du fichier. Pour un peu plus de sécurité.

Tu peux remplacer ton truc avec les rand() par la fonçtion uniqud ;)


@+

Re: Faille dans ce script d'upload ?

Posté : 12 sept. 2013, 18:30
par leo45vl
Je vais mettre la fonction la fonction uniqud ca semble mieux.
Et pour vérifier le mime, est ce que c'est dans le fichier ou c'est ce que le navigateur renvoi ?

Merci