Différents navigateurs activent différentes mesures de sécurité lorsque l' indicateur HTTPOnly est défini. Par exemple, Opera et Safari n'empêchent pas javascript d'écrire dans le cookie. Cependant, la lecture est toujours interdite sur la dernière version de tous les principaux navigateurs.
Mais plus important encore, pourquoi voulez-vous lire un HTTPOnly
cookie? Si vous êtes un développeur, désactivez simplement l'indicateur et assurez-vous de tester votre code pour xss. Je vous recommande d'éviter de désactiver cet indicateur dans la mesure du possible. L' HTTPOnly
indicateur et «l'indicateur sécurisé» (qui force l'envoi du cookie via https) doivent toujours être définis.
Si vous êtes un attaquant , vous souhaitez détourner une session . Mais il existe un moyen simple de détourner une session malgré le HTTPOnly
drapeau. Vous pouvez toujours suivre la session sans connaître l'identifiant de session. Le ver MySpace Samy a fait exactement cela. Il a utilisé un XHR pour lire un jeton CSRF , puis effectuer une tâche autorisée. Par conséquent, l'attaquant peut faire presque tout ce que l'utilisateur connecté peut faire.
Les gens ont trop confiance dans le HTTPOnly
drapeau, XSS peut toujours être exploitable. Vous devez installer des barrières autour des fonctionnalités sensibles. Tels que le mot de passe de changement déposé devrait exiger le mot de passe actuel. La capacité d'un administrateur à créer un nouveau compte devrait nécessiter un captcha, qui est une technique de prévention CSRF qui ne peut pas être facilement contournée avec un XHR .