Comment sécuriser mon uploader ?

Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008
- - Dernière réponse : coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
- 12 juin 2008 à 18:51
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 !
Afficher la suite 

19 réponses

Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
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 !
Commenter la réponse de nicomilville
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
1
0
Merci
Saell og blesuð

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

Vilhjálms
Sigurðsdóttir aka Frëyjá
Commenter la réponse de vilhjalms
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
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 !
Commenter la réponse de nicomilville
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008
0
Merci
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 ?
Commenter la réponse de cs_aszqwx
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
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 !
Commenter la réponse de nicomilville
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008
0
Merci
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 !
Commenter la réponse de cs_aszqwx
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
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 !
Commenter la réponse de nicomilville
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008
0
Merci
Je vais attendre sa réponse ici, j'espère qu'elle repassera bientôt
Commenter la réponse de cs_aszqwx
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
ok, bonne chance, tiens nous au courant de si ça marche...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Commenter la réponse de nicomilville
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29
0
Merci
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
Commenter la réponse de coucou747
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
ok, désolé...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Commenter la réponse de nicomilville
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008
0
Merci
up
Commenter la réponse de cs_aszqwx
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29
0
Merci
DOWN !

on t'a repondu, tu veux qu'on ajoute quoi ???
Commenter la réponse de coucou747
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
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 !
Commenter la réponse de nicomilville
Messages postés
6
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008
0
Merci
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>
Commenter la réponse de cs_aszqwx
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
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 !
Commenter la réponse de nicomilville
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29
0
Merci
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 ???
Commenter la réponse de coucou747
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
25
0
Merci
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 !
Commenter la réponse de nicomilville
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29
0
Merci
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
Commenter la réponse de coucou747