- Cross-site cooking
-
Le cross-site cooking est un type d'exploit des navigateurs Web, dans lequel un site Web crée un cookie dans le domaine d'un autre site, ce qui n'est normalement pas réalisable. En effet, lorsque un navigateur accepte un cookie provenant d'un serveur, il accepte en même temps des informations qui lui permettent d'identifier le serveur et de lui associer le cookie, afin que seul le site web correspondant ait accès au cookie. Le cross-site cooking repose donc sur une interaction entre deux sites Web.
Cet exploit permet notamment l'usurpation d'identité au moyen d'attaque par session fixation.
Sommaire
Origine
Le nom et le concept de cross-site cooking a été présenté par Michal Zalewski en 2006[1]. Le nom est un mélange entre cookie et cross-site, afin d'exprimer la manipulation des cookies entre sites web.
Dans son article de 2006, Michal Zalewski attribue la découverte de cette faille à Benjamin Franz, et déplore que la gestion de la sécurité des cookies soit seulement du côté client, c'est-à-dire que les serveurs acceptent les headers de cookie communiqués par les navigateurs via les requêtes HTTP sans aucune vérification.
Exemple
Une attaque cross-site-cooking pourrait se dérouler ainsi. Alice utilise régulièrement le site A sur lequel elle s'identifie de manière sécurisée (site bancaire par exemple).
- Oscar incite Alice à visiter le site B, qui envoie au navigateur un cookie d'identifiant de session au nom du site A.
- Oscar incite Alice à visiter le site A.
- Lorsque Alice se connecte sur le site A avec l'identifiant de session que lui a communiqué le Site B, Oscar a alors accès au compte d'Alice grâce à l'identifiant de session.
Ce type d'attaque peut être couplé à du phishing. Par exemple, le site B pourrait être fortement semblable au site A et rediriger Alice vers le site A après lui avoir communiqué l'identifiant de session.
Exemples de contre-mesure
- Associer à l'identifiant de session l'adresse IP. Cela empêcherait Oscar de se connecter au compte d'Alice à moins qu'il n'ait la même adresse IP.
- Générer une nouvelle session à chaque connexion. Oscar n'aurait alors plus le bon identifiant de session.
- Permettre à Alice de se déconnecter du site, et détruire alors le cookie d'identifiant de session.
Références
Voir aussi
Liens externes
- Cross-Site Cooking article de Michal Zalewski. Les détails du principe, trois bugs qui permettent le cross-site cooking.
Catégories :- Technologie web
- Exploit (informatique)
- Sécurité du réseau informatique
Wikimedia Foundation. 2010.