Bonjour,
Je suis en train de réaliser une appli qui permet d'envoyer un mail avec pièces jointes.
Donc pour ça, je dois uploader les fichiers depuis le formulaire côté client et les copier sur mon serveur puis envoyer le mail (ça, c'est OK).
Ayant été sensibilisé à la sécurité de ce genre de formulaire d'upload dans ma tendre jeunesse naïve de développeur PHP, et cela à mes dépends (upload sans aucune vérification.... même pas sur l'extension du fichier....=> upload backdoor on your server and lool kikou n00b, you've been hacked by r0X0r....)
Donc, maintenant, je fais quelques vérifications, notamment vérifier le type mime du fichier pour n'autoriser que certain types de fichier. Du coté autorisation sur les répertoires, tout est en place.
Ma question maintenant : est-il possible de changer le type mime d'un fichier?
Du genre Mr Trojan.ru arrive devant ma porte, sort sa carte d'identité de fichier pdf et passe tranquillou.
Edit : Précisions
Je suis sous Win2003 Server avec un Apache 2.2.8 PHP5.2.5
Pour mon upload de fichier j'utilise PEAR Package HTTP_Upload.
Pour solution j'ai :
- Limiter les autorisations à LECTURE et ECRITURE pour mon repetoire temp/ qui contient les fichiers uploadés (eviter l'execution de programmes)
- Limiter les fichiers autorisés en regardant le type mime ( d'où ma question ci-dessus)
- Vérifier que l'extension du fichier uploadé n'est pas "php" auquel cas, le fichier ne pourra pas être exécute sur mon serveur en appelant le fichier par l'url.
Voyez vous des possibilités de contourner ces sécurités?
Partager