La transmission de l'identifiant de session en tant que paramètre d'URL n'est-elle vraiment pas sécurisée?
Bien que ce ne soit pas intrinsèquement non sécurisé, cela peut poser problème à moins que le code ne soit très bien conçu.
Disons que je visite mon forum préféré. Il me connecte et ajoute mon identifiant de session à l'URL dans chaque demande. Je trouve un sujet particulièrement intéressant, et copie & collez l'URL dans un message instantané à mon ami.
À moins que l'application n'ait pris des mesures pour s'assurer qu'il existe une forme de validation sur l'identifiant de session, l'ami qui a cliqué sur ce lien peut hériter de ma session, et pourra alors faire tout ce que je peux faire, comme moi.
En stockant des identifiants de session dans des cookies , vous éliminez complètement le problème de partage de lien.
Il existe une variante de ce thème appelée fixation de session, qui implique un partage intentionnel d'un identifiant de session pour à des fins malveillantes. L'article Wikipédia lié explique en détail comment cette attaque fonctionne et en quoi elle diffère du partage involontaire de l'identifiant de session.
Pourquoi les cookies sont-ils plus sécurisés?
Les cookies peuvent être plus sûrs ici, car ils ne sont pas quelque chose que les utilisateurs normaux peuvent copier coller &, ou même afficher et modifier. C'est une valeur par défaut beaucoup plus sûre.
Quelles sont les possibilités d'un attaquant pour les deux options?
Aucune de ces méthodes est à l'abri des attaques de type «man-in-the-middle» via une communication non chiffrée. Les addons de navigateur, les logiciels espions et autres méchants côté client peuvent également espionner les deux méthodes de stockage des identifiants de session.
Dans les deux cas, la validation côté serveur que le client qui prétend posséder un ID de session est une bonne pratique. Le contenu de cette validation est sujet à débat. Gardez à l'esprit que les utilisateurs derrière des proxys d'entreprise peuvent sauter entre les adresses IP entre les demandes, de sorte que le verrouillage d'une session sur une adresse IP peut accidentellement aliéner des personnes. L'article sur la fixation de session mentionne quelques autres alternatives utiles.