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 :

les Failles include


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut les Failles include
    Bonjour à tous,

    J'avais une petit question sur les failles include du genre <?php include("menu12.inc.php"); ?>.

    Est ce vraiment dangereux de faire ceci?

    Bonne journée

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,


    ????

    A mon avis, ce qui est le plus dangeureux, c'est de na pas savoir / comprendre ce qu'on fait...

    [EDIT] (lu sur le web) :
    [...]Elle n'est pas liée à une vulnérabilité dans une fonction spéciale,
    mais est due (comme beaucoup de failles en PHP) à une erreur de programmation commise par un développeur peu soucieux en matière de sécurité[...]
    A priori, ça concerne surtout des codes du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php include($_GET['fichier']); ?>
    ou
    <?php include($variable); ?>
    C'est sûr que là, sans tester correctement la variable avant, "y'a souci" !

    Par contre, si le nom du fichier est écrit "en dur", pas de sushi.
    Dernière modification par Invité ; 18/04/2017 à 11h24.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut les Failles include
    Merci Jreaux et je l'ai écrit en dure <?php include("menu12.inc.php"); ?>

    et sinon j'ai trouvé ceci sur internet.

    Pensez vous que le code ci-dessous est mieux, en terme de sécurité?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php 
     
    $pageh=preg_replace("/[^a-z0-9_ ]/i", ".", 'menu12.inc');
     
    if(!@include("$pageh.php"))die("Cette page n'existe pas sur le serveur.");
     
    ?>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si tu avais vraiment fait une recherche sérieuse sur internet,
    tu aurais certainement trouver des codes, et surtout EXPLICATIONS (car c'est ce qui te manque le plus : COMPRENDRE).

    Il ne m'a fallu que 30s. pour en trouver...

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut les Failles include
    Donc il vaut mieux que je reste sur le <?php include("menu12.inc.php"); ?> ???

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Marc31 Voir le message
    Donc il vaut mieux que je reste sur le <?php include("menu12.inc.php"); ?> ???
    Ca ne te parait pas évident ?

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut les Failles include
    Non non le bout de code je l'ai trouvé sur internet et ok ça me convient je reste comme ça alors! encore merci

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pageh=preg_replace("/[^a-z0-9_ ]/i", ".", 'menu12.inc');
    Ca c'est un code que tu as inventé, non ?
    Parce qu'il ne fait rien du tout.

    Pour que tu finisses par bien comprendre : include est dangereux dans le cas ou l'utilisateur pourrait faire inclure un fichier de son choix (un fichier de mot de passe par exemple) au lieu du fichier prévu.
    Pour que cela soit possible il faut évidemment que le fichier inclus soit variable.
    Si tu écris include 'menu12.inc'; le nom du fichier ne peut pas être modifié, donc il n'y a pas de soucis.

    Si tu écris include $page;, là il faut être absolument sûr que $page ne puisse pas être altéré.
    La manière la plus sûr (mieux qu'une expression régulière comme dans ton code) est de faire une liste blanche de page autorisée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 010
    Points : 181
    Points
    181
    Par défaut les Failles include
    Non c'est un bout de code trouvé sur internet que j'ai adapté pour mon cas.
    Ok j'ai bien compris, merci pour les informations.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Sécurité] Les failles les plus courantes
    Par Lootro dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 94
    Dernier message: 11/02/2008, 08h43
  2. [UC] Les relations <<include>>
    Par magnito dans le forum Cas d'utilisation
    Réponses: 2
    Dernier message: 13/11/2007, 21h23
  3. mettre des session_start() dans les pages includées ?
    Par 123quatre dans le forum Langage
    Réponses: 4
    Dernier message: 08/11/2007, 11h30

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