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 :

question sur la securité


Sujet :

Langage PHP

  1. #1
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Points : 264
    Points
    264
    Par défaut question sur la securité
    Je vien de telecharger l'application Testpassport engine ou il y'a des test sur php
    parmis eux la suivante



    la réponse correcte est B, mais je ne sais pas pourquoi. si vous pouvez m'expliquer ce la ...?

    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Parce qu'il n'y a pas de htmlentities ou htmlspecialchars

  3. #3
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Pour être plus clair,

    Si tu avais un formulaire contenant un champ dont le nom est "name" et que, une fois le formulaire soumis, tu executais le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo 'Bonjour ' . $_POST['name'] ?>
    Une personne pourrait injecter un code malveillant dans ta page, il lui suffirait pour cela de mettre du code tel que ceci dans le champ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type="text/javascript">
    alert('Code maveillant ! -_-');
    </script>
    En l'occurence, mon code ne fait qu'ouvrir une popin, mais quelqu'un pourrait executer un code javascript permettant de récupérer les cookies et les envoyer par méthode GET ou POST à un serveur pour les analyser.

    C'est ce qu'on appelle le Cross Site Scripting.

    il faut, comme l'indique blueice, nettoyer ta chaine avec des fonctions comme htmlentities ou htmlspecialchars, voire strip_tags paramétré.

  4. #4
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Points : 264
    Points
    264
    Par défaut
    si ça marche pas chez moi, il y'a surement une directive de securité activé dans php.ini ? parceque rien n'est affiché quand j'envois

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type="text/javascript">
    alert('Code maveillant ! -_-');
    </script>

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Points : 160
    Points
    160
    Par défaut
    surement puisque :
    image 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    echo '<form method="post" action="">';
    echo '<input type="text" name="exemple" value="valeur par défaut" />';
    echo '<input type="submit" />';
    echo '</form>';
     
    echo $_POST['exemple'];
     
    ?>
    image 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    echo '<form method="post" action="">';
    echo '<input type="text" name="exemple" value="valeur par défaut" />';
    echo '<input type="submit" />';
    echo '</form>';
     
    echo htmlentities($_POST['exemple']);
     
    ?>
    Images attachées Images attachées   

  6. #6
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Points : 264
    Points
    264
    Par défaut
    oui mais je devrai avoir une alerte javascript sans le htmlentities,moi je l'ai pas mon $_POST ne contient rien quand on inserre des caracteres qui debute avec "<" rien ça doit être un config dans php.ini ?

  7. #7
    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
    quand on inserre des caracteres qui debute avec "<"
    si tu mets <n importe quoi> forcemment ca n'affichera rien (mais la chaine sera bien visible dans la source.

  8. #8
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Points : 264
    Points
    264
    Par défaut
    Non justement

    voici ma source

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form name= "form" method="post" action="" enctype="multipart/form-data"> 
    <input type = "text" name="sa"/> 
    </form>

  9. #9
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Points : 160
    Points
    160
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html><head></head>
    <body>
    <form method="post" action="">
    <input name="exemple" value="valeur par défaut" type="text">
    <input type="submit"></form>
    <script type="text/javascript"> alert('Code maveillant ! -_-'); </script>
    </body></html>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html><head></head>
    <body>
    <form method="post" action="">
    <input name="exemple" value="valeur par défaut" type="text">
    <input type="submit"></form>
    &lt;script type="text/javascript"&gt; alert('Code maveillant ! -_-'); &lt;/script&gt;
    </body></html>

  10. #10
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Points : 264
    Points
    264
    Par défaut
    Bizare c'est sous chrome que ça passe pas, sous ie ça passe

Discussions similaires

  1. [2k3] Question sur la securite
    Par nuriel2 dans le forum Sécurité
    Réponses: 5
    Dernier message: 24/07/2006, 16h47
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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