Cookie poisoning

Le cookie poisoning, également appelé détournement de session, est une attaque qui permet au pirate de prendre le contrôle d’une session utilisateur par le biais d’un cookie de session.

Cela peut se faire en modifiant le contenu d’un cookie qui est utilisé pour identifier l’utilisateur.

Un cookie de session est un petit fichier texte envoyé par le serveur d’un site Web et stocké sur l’ordinateur d’un utilisateur. Il est utilisé pour identifier l’utilisateur et pour stocker des informations sur sa session, telles que les préférences ou les articles ajoutés au panier.

Les cookies de session sont créés lorsque l’utilisateur accède pour la première fois à un site Web. Le site Web envoie le cookie à l’ordinateur de l’utilisateur, qui le stocke ensuite dans son navigateur Web. Le cookie est ensuite renvoyé au site Web lors de chaque nouvelle visite. Cela permet au site Web d’identifier l’utilisateur et de lui fournir un accès personnalisé.

Lors de la création d’un cookie de session, le site Web génère un ID de session unique. Cet ID est stocké dans le cookie et est utilisé par le site Web pour identifier l’utilisateur.

Dans une attaque de cookie poisoning, l’attaquant intercepte le cookie de session qui est envoyé par le site Web à l’ordinateur de l’utilisateur. L’attaquant peut ensuite modifier le contenu du cookie pour changer l’ID de session.

Par exemple, un attaquant peut modifier modifier l’ID de session de l’utilisateur en son propre ID de session, se faire passer pour l’utilisateur et d’accéder à ses informations ou à ses comptes.

Comment s’en prémunir côté serveur par le développeur ?

  • Utiliser des cookies de session sécurisés

Les cookies de session sécurisés sont cryptés avant d’être envoyés au navigateur de l’utilisateur.

Pour générer un cookie de session sécurisé, le développeur doit utiliser la méthode setcookie() du langage de programmation qu’il utilise. La méthode setcookie() prend plusieurs paramètres, dont l’un est la valeur httponly. La valeur httponly indique au navigateur de l’utilisateur que le cookie ne doit être accessible que via le protocole HTTP.

  • Utiliser des cookies de session avec une durée de vie limitée

Les cookies de session avec une durée de vie limitée expirent après un certain temps. Cela limite la durée pendant laquelle un attaquant peut utiliser un cookie de session compromis.

Pour définir une durée de vie pour un cookie de session, le développeur doit utiliser la méthode setcookie() du langage de programmation qu’il utilise. La méthode setcookie() prend plusieurs paramètres, dont l’un est la valeur expires. La valeur expires indique la date et l’heure à laquelle le cookie expire.

  • Utiliser des cookies de session avec un domaine limité

Les cookies de session avec un domaine limité ne peuvent être utilisés que sur le domaine pour lequel ils ont été créés. Cela limite les sites Web auxquels un attaquant peut accéder en utilisant un cookie de session compromis.

Pour limiter le domaine d’un cookie de session, le développeur doit utiliser la méthode setcookie() du langage de programmation qu’il utilise. La méthode setcookie() prend plusieurs paramètres, dont l’un est la valeur domain. La valeur domain indique le domaine pour lequel le cookie peut être utilisé.

  • Utiliser des cookies de session avec un chemin limité

Les cookies de session avec un chemin limité ne peuvent être utilisés que sur les chemins pour lesquels ils ont été créés. Cela limite les pages Web auxquelles un attaquant peut accéder en utilisant un cookie de session compromis.

Pour limiter le chemin d’un cookie de session, le développeur doit utiliser la méthode setcookie() du langage de programmation qu’il utilise. La méthode setcookie() prend plusieurs paramètres, dont l’un est la valeur path. La valeur path indique le chemin pour lequel le cookie peut être utilisé.

Syn. : détournement de session.