begin process at 2012 05 31 10:25:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Réseau & Internet

 > 

Sécurité des cookies de sessions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sécurité des cookies de sessions

mercredi 3 août 2005 à 20:37:45 | Sécurité des cookies de sessions

mcjoedassin

Voilà le topo. Le client se connecte au serveur. S'il n'envoit pas de cookie de session, le serveur répond par un
    Set-Cookie: PHPSESSID=blabla...; path=/
bon. Une fois le cookie acquis, le client va alors envoyer à chaque fois qu'il demande une page son cookie de session via un
    Cookie: PHPSESSID=blabla...

Le problème, le voici. Supposons que j'ai mon site à l'adresse A.domain.com et considérons un autre site B.domain.com. Si un client va sur mon site A.domain.com et ouvre une session, le browser va stocker le cookie comme appartenant au
domain A.domain.com. No problem. Mais. Si j'envoie le cookie comme ceci :
    Set-Cookie: PHPSESSID=abc; expires=Mon, 02-Aug-10 14:02:31 GMT; path=/; domain=domain.com
le cookie PHPSESSID est stocké dans le browser comme appartenant au domaine .domain.com.

S'il n'y a pas de cookie PHPSESSID défini pour B.domain.com, le browser récupère le cookie de mon site, et se connecte avec LE MEME identifiant de session au site B.domain.com ...

Celà veut dire que le client qui est passé par le site A s'autentifiera avec le même numéro de session à chaque fois (expires fait que ce cookie n'est pas détruit), numéro que je connais ...

Ma question donc... êtes vous au courant de ce problème ? Quelles stratégies pour y remédier ?

Il est possible que ce post soit hors-sujet... comme il traite de sécurité peut-être d'un peu trop près... il est possible que de nombreux sites soient vulnérables, ma motivation n'est pas de propager une vulnérabilité mais d'essayer de trouver une solution ...

mercredi 3 août 2005 à 20:41:58 | Re : Sécurité des cookies de sessions

mcjoedassin

il fallait bien sûr lire
  domain=.domain.com
mercredi 3 août 2005 à 21:05:10 | Re : Sécurité des cookies de sessions

malik7934

Hello,

Je ne connaissais pas ce problème, mais en lisant ton poste, je pense que ce n'est pas trop difficile de parer le problème.

Si tu as ton premier site qui s'appelle a.domaine.com,  $_SERVER['REQUEST_URI'] te donnera 'a' puisque a.domaine.com est la redirection de domaine.com/a, donc il te suffit d'ajouter cette info dans ton cookie (de manière cryptée ou non) et de faire un strcmp entre le $_SERVER['REQUEST_URI'] du cookie et celui du site!

Maintenant je n'exclue pas qu'il existe une solution plus simple liée directement aux cookies, mais pour ça, rdv sur php.net

Enjoy, ++

mercredi 3 août 2005 à 22:19:32 | Re : Sécurité des cookies de sessions

GRenard

Ce n'est pas un problème, c'est la manière que fonctionne les cookies ... quel est le problème réel? remédier à quoi ?
Si tu veux, jpense que tu peux mapper ton cookie sur www.domain.com ou direct sur domain.com (Sans le .)


Cherchez, Essayez et Testez avant de Poser une question !
[ Lien ]
mercredi 3 août 2005 à 23:10:44 | Re : Sécurité des cookies de sessions

mcjoedassin

l'id de session contenu dans le cookie est un secret partagé entre le client et le serveur. Si quelqu'un d'autre connait cet id, il peut se faire passer pour le client.
Un exemple : tu vas sur perso.domain.com, tu choppes un PHPSESSID=abc sur .domain.com
Ensuite (un autre jour ...) tu vas sur mail.domain.com où tu t'authentifies. Le webmaster de perso.domain.com peut alors lire tes mails en utilisant comme cookie de session PHPSESSID=abc. Le serveur voit "abc", donc il identifie la même personne.
Le "mappage" est très strict... justement pour éviter le vol de cookies

jeudi 4 août 2005 à 02:46:52 | Re : Sécurité des cookies de sessions

Anthomicro

Salut,

comme l'a dit Grenard ce n'est pas un problème... En gros tu as plusieurs site sur un même domaine (tu gères donc ça via des sous domaines) et t'as un problème de ce type ? bah dans "domain" pour l'enregistrement du cookie tu mets "sousdomaine.domaine.com"


    jeudi 4 août 2005 à 08:08:36 | Re : Sécurité des cookies de sessions

    mcjoedassin

    le problème n'est pas si simple. Le serveur ne reçoit pas le domaine du cookie. Il voit un cookie du client, il pense que c'est lui-même (le serveur) qui l'a créé.
    un session_open ne suffit pas, il faut regénérer l'id de session.

    jeudi 4 août 2005 à 12:11:17 | Re : Sécurité des cookies de sessions

    Anthomicro

    http://fr.php.net/manual/fr/function.setcookie.php

    et ensuite modifie pour chacun de tes sous domaines la valeur "session.cookie_domain"
    dans le php.ini (ou à l'aide d'un htaccess si ini_set() n'est pas dispo)

      jeudi 4 août 2005 à 12:15:41 | Re : Sécurité des cookies de sessions

      mcjoedassin

      que proposerais-tu a un hébergeur mutualisé ? Si un mec sur A.domain.com décide de s'en prendre à B.domain.com, que peut faire B pour le prémunir ?
      jeudi 4 août 2005 à 12:22:57 | Re : Sécurité des cookies de sessions

      Anthomicro

      ce que je viens de dire au dessus, sur le site B tu modifies le session.cookie_domain en l'adaptant au site B (tu inclues le sous domaine) et pareil pour le site A.



        1 2 3

        Cette discussion est classée dans : site, session, cookie, domain, phpsessid


        Répondre à ce message

        Sujets en rapport avec ce message

        session et transmission d'ido [ par nikos283 ] Voila j'utilise les session sur mon site en me basant sur les cookies. Le truc c que lorsque j'accede a ce site avec un navigateur refusant les cookie Aidez moi:session ou cookie [ par must ] Voila voudrais quand visiteur viens sur ma page,que ca enregistre son passage (incremente)net si apres il revient une 2eme fois,ne pas incrementerJ'ai pb avec les sessions et cookie [ par nikos283 ] Bonjour,j'ai lu sur plusieurs site que les session enregistraient leur id dans un cookie. L'autre solution est de le passer par l'url.Mon proble est l comment se deconnecté d'une session ? [ par coolboy78 ] ce que j'aimerai faire c que quand un utilsateur se logue que sa mettre à 1 le champs online par exemple et quand il ferme la fenetre ou qu'il aille s comment se deconnecté d'une session ? [ par coolboy78 ] ce que j'aimerai faire c que quand un utilsateur se logue que sa mettre à 1 le champs online par exemple et quand il ferme la fenetre ou qu'il aille s Problème de session ? [ par phpwankenobi ] Salut à tous...Voici un code que j'utilise pour garantir la confidentialité de la partie d'un site :session_start();if (!session_is_registered('login' SESSIONS AVEC COOKIES [ par vincenteraptor ] Ugh!j ai un petit pb! voila je voudrais utiliser les sessions avec passage de l'id de session dans un cookie.Pour comprendre la chose j ai telechargé Site l'utilisateur quite une session ce dernière restet'elle active [ par microdevweb ] Je devellope actuelement une site imode, j'aimerais y fait un chat mais le javascript n'exite pas encore pour imode.Donc je penssais travailler avec l Ouverture auto d'une session [ par kodiask ] Voilà j'ai un site avec eun espace membre, et je voudrai que lorsque qu'un membre qui c logué qui mon site et y revienne plus tard bin que sa session Disparition aléatoire de Session [ par Cadrach ] Alors, j'ai problème ennuyeux sur mon site au niveau des sessions. Donc d'abord le détail : Config du serveur, niveau session : Code:[Session] sessi


        Nos sponsors


        Sondage...

        CalendriCode

        Mai 2012
        LMMJVSD
         123456
        78910111213
        14151617181920
        21222324252627
        28293031   

        Consulter la suite du CalendriCode

        Photothèque

        A découvrir



         
        Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
        CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
        CodeS-SourceS.com© est une marque déposée tous droits réservés

        Google Coop CodeS-SourceS Google Coop CodeS-SourceS
        Temps d'éxécution de la page : 7,067 sec (3)

        Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales