Comment sécuriser mon uploader ?

Signaler
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour,

J'ai les codes qu'il me faut pour faire mon hébergeur d'images (uploader), mais j'ai déjà une fois été hacké (un imbécile a chargé autre chose qu'une image et a vidé tout le dossier qui contenait mes images).

Je souhaiterais donc sécuriser mon code. Que dois-je faire ?

P.S. Je suis un gros débutant, donc n'y allez pas trop fort dans les explication
P.S. 2 : mes fichiers sont download.php, index.php et resize.php

Merci !

19 réponses

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
Salut,

il faut vérifier que le fichier uploader corresponde a une extension que tu veus bien laisser passer...

Exemple ?

if ($_FILES['fichier']['type'] != 'bmp' && $_FILES['fichier']['type'] != 'jpg' && $_FILES['fichier']['type'] != 'png' && $_FILES['fichier']['type'] != 'jpeg' && $_FILES['fichier']['type'] != 'gif') {

// le code a executer

} else {

echo "petit farceur, tu ne m'aura pas aussi facilement";

}

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
1
Saell og blesuð

L extension ! lol il est prefereable de verifier le type de mime

Vilhjálms
Sigurðsdóttir aka Frëyjá
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
oui, mais l'extension c'est déja pas mal, après derrière on peut rajouter le type mime pour un max de sécurité...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008

Bonsoir,

Merci pour la réponse. Comme je l'ai dit, je suis un grand débutant, donc je vais avoir du mal avec tout ça, sauf si on me dit bien quoi exactement et où le mettre ;-)

Voilà mon code php :

<?
function sort_by_mtime($file1,$file2) {
    $time1 = filemtime($file1);
    $time2 = filemtime($file2);
    if ($time1 == $time2) {
        return 0;
    }
    return ($time1 < $time2) ? 1 : -1;
    }
function GetExtensionName($File)
{
 $Ext = strtolower(substr($File, strrpos($File, '.')));
 return $Ext;
}


 $domain= "http://********";
     $folder = "depot/";
 //$dossier = opendir($folder);
   
$html_array = glob($folder."*");


usort($html_array,"sort_by_mtime");


 foreach ($html_array as $Fichier) {
  if (GetExtensionName($Fichier)==".zip") {
   $bimg1="";
   $bimg2="";
  } else
  {
   $bimg1="";
  }
  if ($Fichier != "." && $Fichier != "..") {
   echo (
   '&nbsp;
   lien direct'
   );
  }
 }
 //closedir($dossier);
?>

Que dois-je ajouter pour qu'il n'y ait que et absolument que les images qui soient acceptées ?
En fait, ce que le hacker a fait (pour que vous compreniez), c'est qu'il a su intégrer son vers en mettant un fichier nom.php.jpg
Et comme l'extension jpg est autorisée, ça a été accepté. Comment éviter ça ?
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
tu fais une expression régulière qui vérifie qu'il n'y ai qu'un "." dans le fichier si c'est le cas tu fais les autres vérifications et si le fichier est bon tu l'accepte sinon tu ne l'accepte pas et tu fais ce que tu veus...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008

Merci pour tes réponses déjà :)

Ce serait exactement ce qu'il me faudrait. Mais je te dis je n'y connais strictement rien, et tu m'embrouille déjà un peu hihi

Tu pourrais me faire ça dans mon code ?

Merci beaucoup !
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
ba vu que tu es débutant que dirai tu que je te donne des tutoriaux qui t'aiderons a réaliser ça...

déja je t'es donner le code pour vérifier l'extension...

Je vais te mettre un lien pour les expressions régulière...

désolé de t'embrouiller, pour les type mime demande à vilhjalms, elle s'y connais beaucoup mieux que moi...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008

Je vais attendre sa réponse ici, j'espère qu'elle repassera bientôt
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
ok, bonne chance, tiens nous au courant de si ça marche...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
salut

nicomilville, tu fais erreur... c'est un mimetype, pas une extention qu'on recois...

cf http://www.phpcs.com/codes/TUTO-SECURITE-UPLOAD-TELNET_31841.aspx
et http://www.phpcs.com/codes/FAILLES-TOUT-GENRE_34088.aspx
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
ok, désolé...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008

up
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
DOWN !

on t'a repondu, tu veux qu'on ajoute quoi ???
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
oui, au fait, merci coucou747 pour tes liens, cela m'a permis d'approfondir mes connaissances sur les failles, sutout sur les failles XSS car pour les autres, je n'ai pas tout compris...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008

Citation :


<table style= "WIDTH: 100%; BORDER-BOTTOM: black 1px solid">

----,

ba vu que tu es débutant que dirai tu que je te donne des tutoriaux qui t'aiderons a réaliser ça...

déja je t'es donner le code pour vérifier l'extension...

Je vais te mettre un lien

pour les expressions régulière...

désolé de t'embrouiller, pour les type mime demande à vilhjalms , elle s'y connais beaucoup mieux que moi...

a +

</td>

----

 



</td>
</tr>
<tr style ="COLOR: black; BACKGROUND-COLOR: white">
<td valign="top">



Re : Comment sécuriser mon uploader ?
le 07/06/2008 19:53:11





aszqwx

,
Je vais attendre sa réponse ici, j'espère qu'elle repassera bientôt





</td>
</tr>
</tbody>
</table>
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
ok... mais je crois que coucou747 t'a fournit un lien qui explique comment se protèger en manipulant le mime type...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
en fait nicomilville, justement, j'explique dans mes liens que le mime type n'est pas fiable...

aszqwx j'ai repondu a ta question par des liens, tu ne crois tout de meme pas que je vais te faire tout ton travail a ta place ???
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
26
ba alors faut vérifier quoi ? car dans tes explication tu explique aussi que vérifier l'extension ne sert a rien car on arrive facilement a faire passer un fichier sur le serveur et après avec telnet remettre son extension d'origine...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
c'est tout le dileme... la verification de l'extention te sert a savoir si ton fichier sera executable ou non, mais ne t'informe pas sur son contenu...

la verification du mimetype ne t'apporte aucune info