IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Upload de fichiers : sécurité


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut [Upload] Upload de fichiers : sécurité
    Bonjour, pour une application redistribuée libremente je souhaiterait inclure un système d'upload. J'aimerai savoir s'il y a des failles de sécurité particulières à éviter (type mime des fichiers ?) pour éviter aux utilisateurs du script d'uploader des fichiers intedit (par exemple php, etc ...).

    Est ce que simplement vérifier l'extension suffit ? Merci d'avance

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    bonjour,
    tester le type mime sera certainement plus fiable que l'extension

    http://php.developpez.com/faq/?page=...filtretypemime

  3. #3
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Justement j'ai lu quelque part que le type mime était une porte ouverte aux failles de sécurité, il est possible de modifier le type d'un fichier non ?

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    moins facilement que de changer l'extension

    si tu veux tester si c est une image par exemple, tu peux utiliser getimagesize

  5. #5
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Oui pour getimagesize je connaissais ca renvoie pas mal d'info utiles sur l'image afin d'être 100% sur de son extension ^^

    Bon bah pour le reste on va faire confiance à l'extension et au type mime ^^

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    penses au si c'est ok pour toi

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Quelqu'un aurait-il un pointeur sur un exemple de mime type falsifié qui pourrait faire des dégats ?

    Par exemple si je mais un .exe pour une image png, c'est l'interpreteur d'image (navigateur, visionneuse, ...) qui va dire "format incorrect"... non ?

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    euh ce que j'ai deja vu passer c est un exemple d'attaque telnet

  9. #9
    Membre éprouvé Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Points : 1 080
    Points
    1 080
    Par défaut
    Est ce que simplement vérifier l'extension suffit ? Merci d'avance
    Je crois que la meilleure chose serai d'avoir un antivirus écrit en PHP qui analyserai chaque fichier lol!

  10. #10
    Membre actif
    Avatar de jak0
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 272
    Points : 219
    Points
    219
    Par défaut
    Si tu analyse le type mime, cest deja pas mal. Ensuite, si de toute maniere a chaque fois que le fichier est lancé, il est lancé avec le type mime que tu a autorisé, alors tout est ok...
    Il faut juste que celui-ci ne soit pas accessible directement de l'exterieur.
    En gros, que son adresse directe ne soit jamais visible...

  11. #11
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Que son adresse direct ne soit jamais visible ?

  12. #12
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    /home/httpd/www/                  <-- repertoire web, accesible de l'exterieur
    /home/httpd/data/                 <-- repertoire local, pas accessible
    En placant tes upload à l'exterieur de ton espace web, il n'est pas possible d'y acceder directement...

  13. #13
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut Upload en dehors de www
    Uploader en dehors de www ca implique un accès direct au serveur. C'est une bonne solution pour des applications intranet mais je crois pas qu'il y ait bcp d'hebergeur qui offre cet possibilité ...


  14. #14
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Sur mes hébergements chez ovh je peux mettre mes documents en dehors de l'espace www sans problème, C'est vrai que chez free c'est un peu plus dur ^^

    Sinon pas besoin d'accès direct au serveur. Ton script php d'upload fait un move_uploaded_file dans le repertoire /home/httpd/data et basta...

  15. #15
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Mes fichiers uploadé sont censés être disponible pour le download. Les membres uploadent des fichiers en gros et les autres peuvent les downloader donc solution non envisageable ^^

  16. #16
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 281
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 281
    Points : 1 999
    Points
    1 999
    Par défaut
    Dans ce cas, tu stockes les fichiers dans la base

  17. #17
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Effectivement ca peut etre une solution sécurisée, je vais surement prévoir ce cas aussi.

    Malheuresement ca risque vite de faire prendre à la base de donnée une taille considérable. Mon script étant un script de forum ca risque de ne pas plaire aux utilisateurs :/

Discussions similaires

  1. [Upload] upload d'un fichier avec apostrophe
    Par SegmentationFault dans le forum Langage
    Réponses: 5
    Dernier message: 07/09/2006, 10h37
  2. [Upload] Upload de GROS fichiers en php
    Par osscour dans le forum Langage
    Réponses: 21
    Dernier message: 26/05/2006, 14h13
  3. [Upload] Upload d'un fichier excel sur un site web
    Par oldscrout dans le forum Langage
    Réponses: 3
    Dernier message: 31/03/2006, 10h09
  4. [Upload] Upload, renommer le fichier
    Par Alain15 dans le forum Langage
    Réponses: 15
    Dernier message: 14/02/2006, 14h06
  5. [Upload] Upload de gros fichiers
    Par Rémiz dans le forum Langage
    Réponses: 8
    Dernier message: 07/01/2006, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo