mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-15 01:17:36 +00:00
Translated ['pentesting-web/hacking-with-cookies/cookie-tossing.md'] to
This commit is contained in:
parent
8a92fcde8d
commit
94c3155b73
1 changed files with 16 additions and 16 deletions
|
@ -7,16 +7,16 @@
|
|||
支持HackTricks的其他方式:
|
||||
|
||||
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
||||
* 探索我们的独家[**NFTs收藏品The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||||
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
|
||||
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **在Twitter上** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** 上关注我们**。
|
||||
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
|
||||
|
||||
</details>
|
||||
|
||||
### 描述
|
||||
|
||||
如果攻击者能够**控制公司的子域或域**,或在子域中发现XSS漏洞,他将能够执行此攻击。
|
||||
如果攻击者能够**控制公司的子域或域**,或者在子域中找到XSS漏洞,他将能够执行此攻击。
|
||||
|
||||
正如在Cookies Hacking部分中所指出的,当**将cookie设置为一个域(指定它)时,它将在该域和子域中使用**。
|
||||
|
||||
|
@ -29,26 +29,26 @@
|
|||
* **将受害者的cookie固定到攻击者的帐户**,因此如果用户没有注意到,**他将在攻击者的帐户中执行操作**,攻击者可能会获取一些有趣的信息(检查用户在平台上的搜索历史记录,受害者可能在帐户中设置他的信用卡...)
|
||||
* 如果**登录后cookie不会更改**,攻击者可能只需**固定一个cookie(会话固定)**,等待受害者登录,然后**使用该cookie以受害者身份登录**。
|
||||
* 有时,即使会话cookie更改,攻击者也可以使用先前的cookie,然后还会收到新的cookie。
|
||||
* 如果**cookie设置了一些初始值**(例如在flask中,**cookie**可能会在会话中**设置CSRF令牌**,并且此值将在受害者登录后保持不变),**攻击者可以设置这个已知值,然后滥用它**(在这种情况下,攻击者可以让用户执行CSRF请求,因为他知道CSRF令牌)。
|
||||
* 如果**cookie设置了一些初始值**(例如在flask中,**cookie**可能会在会话中**设置**CSRF令牌,而此值在受害者登录后将保持不变),**攻击者可以设置这个已知值,然后滥用它**(在这种情况下,攻击者可以让用户执行CSRF请求,因为他知道CSRF令牌)。
|
||||
* 就像设置值一样,攻击者还可以获取服务器生成的未经身份验证的cookie,从中获取CSRF令牌并使用它。
|
||||
|
||||
### Cookie顺序
|
||||
|
||||
当浏览器接收到两个具有相同名称的cookie,**部分影响相同范围**(域、子域和路径)时,**浏览器将在请求时发送两个cookie的值**,只要两者对该请求都有效。
|
||||
当浏览器接收到两个具有相同名称的cookie **部分影响相同范围**(域、子域和路径)时,**浏览器将在请求时发送两个cookie的值**,只要两者对请求都有效。
|
||||
|
||||
取决于谁具有**最具体路径**或哪个是**最旧的**,浏览器将**首先设置一个cookie的值,然后设置另一个cookie的值**,如下所示:`Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;`
|
||||
取决于谁具有**最具体路径**或哪个是**最旧的**,浏览器将**首先设置cookie的值**,然后设置另一个值,如:`Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;`
|
||||
|
||||
大多数**网站将仅使用第一个值**。因此,如果攻击者想要设置一个cookie,最好在另一个cookie设置之前设置它,或者使用更具体的路径设置它。
|
||||
|
||||
{% hint style="warning" %}
|
||||
此外,**在更具体的路径中设置cookie的能力**非常有趣,因为您将能够使**受害者使用他的cookie,除了在恶意cookie设置将在之前发送的特定路径之外**。
|
||||
此外,**在更具体的路径中设置cookie的能力**非常有趣,因为您将能够使**受害者使用他的cookie,除了在恶意cookie设置将在之前发送的特定路径中之外**。
|
||||
{% endhint %}
|
||||
|
||||
### 绕过保护
|
||||
### 防护绕过
|
||||
|
||||
对抗这种攻击的可能保护措施是,**Web服务器不会接受具有相同名称但两个不同值的两个cookie的请求**。
|
||||
|
||||
为了绕过攻击者在受害者已经获得cookie之后设置cookie的情况,攻击者可以引起**cookie溢出**,然后,一旦**合法cookie被删除,设置恶意cookie**。
|
||||
为了绕过攻击者在受害者已经获得cookie后设置cookie的情况,攻击者可以引起**cookie溢出**,然后,一旦**合法cookie被删除,设置恶意cookie**。
|
||||
|
||||
{% content-ref url="cookie-jar-overflow.md" %}
|
||||
[cookie-jar-overflow.md](cookie-jar-overflow.md)
|
||||
|
@ -64,12 +64,12 @@ Cookie Tossing攻击也可以用于执行**Cookie炸弹**攻击:
|
|||
[cookie-bomb.md](cookie-bomb.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### 防御
|
||||
### 防御措施
|
||||
|
||||
#### **在cookie名称中使用前缀`__Host`**
|
||||
|
||||
* 如果cookie名称具有此前缀,**只有在标记为安全,从安全来源发送,不包括Domain属性,并且Path属性设置为/**的情况下,它才会在Set-Cookie指令中被接受**
|
||||
* **这可以防止子域强制将cookie发送到顶级域,因为这些cookie可以被视为“域锁定”**
|
||||
* 如果cookie名称具有此前缀,**只有在标记为安全,从安全来源发送,不包括Domain属性,并且Path属性设置为/**的情况下,它**才会被接受**在Set-Cookie指令中
|
||||
* **这可以防止子域强制将cookie发送到顶级域,因为这些cookie可以被视为“锁定域”**
|
||||
|
||||
### 参考资料
|
||||
|
||||
|
@ -85,9 +85,9 @@ Cookie Tossing攻击也可以用于执行**Cookie炸弹**攻击:
|
|||
支持HackTricks的其他方式:
|
||||
|
||||
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
||||
* 探索我们的独家[**NFTs收藏品The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||||
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
||||
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
|
||||
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **在Twitter上** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** 上关注我们**。
|
||||
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Reference in a new issue