Translated ['pentesting-web/hacking-with-cookies/cookie-tossing.md'] to

This commit is contained in:
Translator 2024-04-04 08:57:34 +00:00
parent 4df6bd50be
commit 8021b3c210

View file

@ -9,7 +9,7 @@ Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub. * **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
</details> </details>
@ -18,7 +18,7 @@ Autres façons de soutenir HackTricks :
Si un attaquant peut **contrôler un sous-domaine ou le domaine d'une entreprise ou trouve une XSS dans un sous-domaine**, il pourra effectuer cette attaque. Si un attaquant peut **contrôler un sous-domaine ou le domaine d'une entreprise ou trouve une XSS dans un sous-domaine**, il pourra effectuer cette attaque.
Comme cela a été indiqué dans la section de piratage des cookies, lorsqu'un **cookie est défini pour un domaine (en le spécifiant), il sera utilisé dans le domaine et les sous-domaines**. Comme indiqué dans la section Hacking des cookies, lorsqu'un **cookie est défini pour un domaine (en le spécifiant), il sera utilisé dans le domaine et les sous-domaines**.
{% hint style="danger" %} {% hint style="danger" %}
Par conséquent, **un attaquant pourra définir pour le domaine et les sous-domaines un cookie spécifique en faisant quelque chose comme** `document.cookie="session=1234; Path=/app/login; domain=.example.com"` Par conséquent, **un attaquant pourra définir pour le domaine et les sous-domaines un cookie spécifique en faisant quelque chose comme** `document.cookie="session=1234; Path=/app/login; domain=.example.com"`
@ -32,11 +32,11 @@ Cela peut être dangereux car l'attaquant peut :
* Si le **cookie définit une valeur initiale** (comme dans Flask où le **cookie** peut **définir** le **jeton CSRF** de la session et que cette valeur sera maintenue après la connexion de la victime), l'**attaquant peut définir cette valeur connue puis l'exploiter** (dans ce scénario, l'attaquant peut ensuite amener l'utilisateur à effectuer une requête CSRF car il connaît le jeton CSRF). * Si le **cookie définit une valeur initiale** (comme dans Flask où le **cookie** peut **définir** le **jeton CSRF** de la session et que cette valeur sera maintenue après la connexion de la victime), l'**attaquant peut définir cette valeur connue puis l'exploiter** (dans ce scénario, l'attaquant peut ensuite amener l'utilisateur à effectuer une requête CSRF car il connaît le jeton CSRF).
* Tout comme définir la valeur, l'attaquant pourrait également obtenir un cookie non authentifié généré par le serveur, obtenir le jeton CSRF à partir de celui-ci et l'utiliser. * Tout comme définir la valeur, l'attaquant pourrait également obtenir un cookie non authentifié généré par le serveur, obtenir le jeton CSRF à partir de celui-ci et l'utiliser.
### Ordre des Cookies ### Ordre des cookies
Lorsqu'un navigateur reçoit deux cookies avec le même nom **affectant partiellement le même domaine** (domaine, sous-domaines et chemin), le **navigateur enverra les deux valeurs du cookie** lorsque les deux sont valides pour la requête. Lorsqu'un navigateur reçoit deux cookies avec le même nom **affectant partiellement le même champ d'application** (domaine, sous-domaines et chemin), le **navigateur enverra les deux valeurs du cookie** lorsque les deux sont valides pour la requête.
En fonction de qui a **le chemin le plus spécifique** ou lequel est le **plus ancien**, le navigateur **définira d'abord la valeur du cookie** puis la valeur de l'autre comme dans : `Cookie: iduser=CookiePlusSpecifiqueEtPlusAncien; iduser=MoinsSpecifique;` En fonction de qui a le **chemin le plus spécifique** ou lequel est le **plus ancien**, le navigateur **définira d'abord la valeur du cookie** puis la valeur de l'autre comme dans : `Cookie: iduser=CookiePlusSpécifiqueEtPlusAncien; iduser=MoinsSpécifique;`
La plupart des **sites Web n'utiliseront que la première valeur**. Ainsi, si un attaquant souhaite définir un cookie, il est préférable de le définir avant qu'un autre ne soit défini ou de le définir avec un chemin plus spécifique. La plupart des **sites Web n'utiliseront que la première valeur**. Ainsi, si un attaquant souhaite définir un cookie, il est préférable de le définir avant qu'un autre ne soit défini ou de le définir avec un chemin plus spécifique.
@ -44,7 +44,7 @@ La plupart des **sites Web n'utiliseront que la première valeur**. Ainsi, si un
De plus, la capacité à **définir un cookie dans un chemin plus spécifique** est très intéressante car vous pourrez faire en sorte que la **victime travaille avec son cookie sauf dans le chemin spécifique où le cookie malveillant défini sera envoyé en premier**. De plus, la capacité à **définir un cookie dans un chemin plus spécifique** est très intéressante car vous pourrez faire en sorte que la **victime travaille avec son cookie sauf dans le chemin spécifique où le cookie malveillant défini sera envoyé en premier**.
{% endhint %} {% endhint %}
### Contournement de la Protection ### Contournement de la protection
Une protection possible contre cette attaque serait que le **serveur Web n'accepte pas les requêtes avec deux cookies portant le même nom mais deux valeurs différentes**. Une protection possible contre cette attaque serait que le **serveur Web n'accepte pas les requêtes avec deux cookies portant le même nom mais deux valeurs différentes**.
@ -54,11 +54,11 @@ Pour contourner le scénario où l'attaquant définit un cookie après que la vi
[cookie-jar-overflow.md](cookie-jar-overflow.md) [cookie-jar-overflow.md](cookie-jar-overflow.md)
{% endcontent-ref %} {% endcontent-ref %}
Un autre **contournement** utile pourrait être de **coder en URL le nom du cookie** car certaines protections vérifient la présence de 2 cookies portant le même nom dans une requête et ensuite le serveur décoderait les noms des cookies. Un autre **contournement** utile pourrait être de **coder en URL le nom du cookie** car certaines protections vérifient la présence de 2 cookies portant le même nom dans une requête, puis le serveur décoderait les noms des cookies.
### Bombe de Cookie ### Bombe à cookies
Une attaque de Cookie Tossing peut également être utilisée pour effectuer une attaque de **Bombe de Cookie** : Une attaque de Cookie Tossing peut également être utilisée pour effectuer une attaque de **Bombe à cookies** :
{% content-ref url="cookie-bomb.md" %} {% content-ref url="cookie-bomb.md" %}
[cookie-bomb.md](cookie-bomb.md) [cookie-bomb.md](cookie-bomb.md)
@ -68,7 +68,7 @@ Une attaque de Cookie Tossing peut également être utilisée pour effectuer une
#### **Utilisez le préfixe `__Host` dans le nom du cookie** #### **Utilisez le préfixe `__Host` dans le nom du cookie**
* Si un nom de cookie a ce préfixe, il **ne sera accepté que** dans une directive Set-Cookie s'il est marqué Secure, a été envoyé depuis une origine sécurisée, n'inclut pas d'attribut Domain et a l'attribut Path défini sur / * Si un nom de cookie a ce préfixe, il **ne sera accepté que** dans une directive Set-Cookie s'il est marqué comme sécurisé, a été envoyé depuis une origine sécurisée, n'inclut pas d'attribut Domain et a l'attribut Path défini sur /
* **Cela empêche les sous-domaines de forcer un cookie sur le domaine principal car ces cookies peuvent être considérés comme "verrouillés sur le domaine"** * **Cela empêche les sous-domaines de forcer un cookie sur le domaine principal car ces cookies peuvent être considérés comme "verrouillés sur le domaine"**
### Références ### Références
@ -87,7 +87,7 @@ Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub. * **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
</details> </details>