mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
Translated ['pentesting-web/hacking-with-cookies/cookie-tossing.md'] to
This commit is contained in:
parent
4df6bd50be
commit
8021b3c210
1 changed files with 11 additions and 11 deletions
|
@ -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>
|
||||||
|
|
Loading…
Reference in a new issue