Bienvenue dans le Bac à Sable !


      Retour à la liste des mises en situation.


Le vol de session permet à un utilisateur X de récupérer une session d'un utilisateur Y.
Cela lui permet à X de se connecter en tant qu'Y sans fournir de mots de passe. Nous allons ici donner l'exemple de la fixation de session.
Les attaques par fixation de session permettent de définir un numéro de session arbitraire.

Imaginons que l'exemple qui suit est un réseau social comme Facebook.
Michel remarque une faille permettant de fixer la session de Marie via le paramètre SID d'une URL.
Il va donc fixer la session avec un numéro arbitraire, disons 0123456.
Il envoie ensuite le lien préparé à Marie, qui va quant à elle se connecter à Facebook avec ce SID prédéfini (car présent dans l'URL).
Il restera à Michel de se rendre à son tour sur son lien préparé pour être automatiquement connecté en tant que Marie sans avoir a fournir d'identifiants.
Ordinateur de Michel Ordinateur de Marie
Michel va fixer une session.


Il va envoyer le lien suivant à Marie:
http://www.exemplefacebook.com/?SID=0123456


Marie va cliquer sur le lien et se connecter.



Explications et contre-mesures

Il ne faut pas définir d'id de session (SID) via les requêtes POST ou GET.
Il faut également changer le SID à chaque nouvelle connexion.