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

Apache Discussion :

Ne pas interpréter les fichiers PHP


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut Ne pas interpréter les fichiers PHP
    Bonjour

    En révérence à la discussion suivante, je pense que je me rapproche un peu de cette problématique.

    J'ai une application qui me permet d'insérer des documents par upload.
    Les utilisateurs peuvent ensuite accéder à ces documents en ligne.

    Mon soucis est de limiter les choses faisables depuis le répertoire upload.
    En particulier, je ne veux pas que les script soient exécutables.

    Actuellement, si j'upload un script PHP, celui ci est interprété, ce qui introduit une faille monstrueuse dans le site et permet à n'importe qui de faire n'importe quoi.

    J'ai entrevu des dizaines de solution pour filtrer les fichiers uploadé, mais cette solution ne me convient pas pour plusieurs raisons :
    - Je ne vois pas pourquoi mes utilisateurs ne pourrait pas mettre en ligne un fichier PHP pour le partager entre eux.
    - Je pense que quoi qu'il arrive, si le serveur a la possibilité d'exécuter du code dans un répertoire, on peut toujours faire en sorte de passer les sécurité.(j avais vu un exemple ou quelqu'un mettait simplement monfichier.php.jpg pour passer la moitié des tests.
    - l'application a 5 ans, fais des millions de lignes et la modifier de partout, j ai pas envie...

    Bref, est ce que la solution des virtual host est facile à mettre en place, et surtout, peut on interdire l'exécution de fichiers PHP directement dans le HTTPD.conf sans créer de virtual host(je ne suis pas sur que l'on ai accès a ce paramétrage chez l'hébergeur).

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Tu as essayé en mettant un fichier .htaccess dans ton répertoire d'upload avec un truc de ce genre dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddType text/plain .phtml .pwml .php3 .php4 .php .php2 .inc
    Ca devrait dire à Apache de considérer que tous les fichiers .php, .php3, etc. de ce répertoire sont des fichiers textes tout simples et donc qu'il ne doit pas les interpréter.

  3. #3
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    cette solution pourrait être déjà plus pratique que celle que me demande mon chef.

    Après elle ne désactive pas PHP, elle ne fait que lui dire de ne pas exécuter le code.


    En fouillant, j'ai vu que l'on pouvait insérer du code dans des images par exemples(JPG, GIF) ou dans des vidéos.
    Si je ne désactive pas PHP complètement, je ne suis pas sur que si quelqu'un met du code PHP dans les images, il ne puisse pas exécuter du code malveillant.

    Mais c'est vrai que ca résous le problèmes pour tous les ptis pirates du dimanche.

    A voir si ca marche avec les fichiers du type : truc.php.jpg

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    En fait, j'ai du mal à voir comment un serveur pourrait vouloir interpréter un fichier toto.php.jpg vu qu'il ne se termine pas par .php Ce qu'il va se passer, je pense, dans le cas d'un toto.php.jpg, c'est que le serveur va renvoyer le fichier tel quel au navigateur avec le content type = image/jpeg. S'il y a interprétation, c'est par le navigateur, pas le serveur. Mais maintenant, si tu as un lien qq part ou un exemple ou d'une explication d'une telle interpétation d'un .php.jpg, je suis preneur.

  5. #5
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    j'ai suivi ces deux liens pour comprendre(enfin essayer) quelques trucs sur l'upload et ses dangers.

    http://devloop.lyua.org/blog/index.p...cripts-dupload

    http://ha.ckers.org/blog/20070604/pa...h-getimagesize

    Je n'ai pas réussi à mettre en pratique les fichiers images avec 2 extensions.

    Après, c'est pas ma spécialité de sécuriser le tout, mais avant de chercher au niveau logiciel, j'essaye de voir si au niveau serveur je peux faire quelque chose de global.

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Liens intéressants. De ce que j'ai compris, l'histoire du .php.jpg c'est pour contourner la vérification de l'extension du fichier (.jpg) ou du content type, mais ce n'est une faille de sécurité que dans la mesure où il y a un code PHP déjà en place sur le serveur qui fait un include du fichier télécharger. Car en effet, un include se moque totalement de l'extension du fichier et quelque soit son nom, le fichier sera interprété comme étant du PHP.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/04/2014, 16h22
  2. ne pas interpréter les "<" et ">" dans fichier xml
    Par Kirua76 dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 13/07/2011, 15h03
  3. Les fichiers PHP ne sont pas exécutés
    Par Floriang33 dans le forum Apache
    Réponses: 2
    Dernier message: 22/03/2010, 14h41
  4. Réponses: 6
    Dernier message: 07/09/2009, 11h42
  5. [Applet][XML] Ne pas interpréter les caractères spéciaux
    Par leminipouce dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 28/07/2005, 16h15

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