# Cookies Hacking {{#include ../../banners/hacktricks-training.md}} ## Attributs des Cookies Les cookies possèdent plusieurs attributs qui contrôlent leur comportement dans le navigateur de l'utilisateur. Voici un aperçu de ces attributs dans un style plus passif : ### Expires et Max-Age La date d'expiration d'un cookie est déterminée par l'attribut `Expires`. En revanche, l'attribut `Max-age` définit le temps en secondes avant qu'un cookie ne soit supprimé. **Optez pour `Max-age` car il reflète des pratiques plus modernes.** ### Domaine Les hôtes qui reçoivent un cookie sont spécifiés par l'attribut `Domain`. Par défaut, cela est défini sur l'hôte qui a émis le cookie, sans inclure ses sous-domaines. Cependant, lorsque l'attribut `Domain` est explicitement défini, il englobe également les sous-domaines. Cela rend la spécification de l'attribut `Domain` une option moins restrictive, utile dans les scénarios où le partage de cookies entre sous-domaines est nécessaire. Par exemple, définir `Domain=mozilla.org` rend les cookies accessibles sur ses sous-domaines comme `developer.mozilla.org`. ### Chemin Un chemin URL spécifique qui doit être présent dans l'URL demandée pour que l'en-tête `Cookie` soit envoyé est indiqué par l'attribut `Path`. Cet attribut considère le caractère `/` comme un séparateur de répertoire, permettant des correspondances dans les sous-répertoires également. ### Règles de Commande Lorsque deux cookies portent le même nom, celui choisi pour l'envoi est basé sur : - Le cookie correspondant au chemin le plus long dans l'URL demandée. - Le cookie le plus récemment défini si les chemins sont identiques. ### SameSite - L'attribut `SameSite` dicte si les cookies sont envoyés lors de requêtes provenant de domaines tiers. Il offre trois paramètres : - **Strict** : Restreint l'envoi du cookie lors de requêtes tierces. - **Lax** : Permet l'envoi du cookie avec des requêtes GET initiées par des sites web tiers. - **None** : Permet l'envoi du cookie depuis n'importe quel domaine tiers. N'oubliez pas, lors de la configuration des cookies, que comprendre ces attributs peut aider à garantir qu'ils se comportent comme prévu dans différents scénarios. | **Type de Requête** | **Code Exemple** | **Cookies Envoyés Quand** | | ------------------- | ---------------------------------- | ------------------------- | | Lien | \\ | NotSet\*, Lax, None | | Prerender | \ | NotSet\*, Lax, None | | Formulaire GET | \