2022-04-28 16:01:33 +00:00
|
|
|
|
<details>
|
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS红队专家)</strong></a><strong>!</strong></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-01-10 17:05:27 +00:00
|
|
|
|
支持HackTricks的其他方式:
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|
|
|
|
* 获取[**官方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来分享您的黑客技巧。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## 描述
|
2021-10-20 23:25:53 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
如果攻击者能够**控制公司的子域或域**,或者在子域中发现XSS漏洞,他将能够执行此攻击。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
正如在Cookies Hacking部分中指出的那样,当**将cookie设置为一个域(指定它)时,它将在该域和子域中使用**。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
|
|
|
|
{% hint style="danger" %}
|
2024-02-09 08:09:21 +00:00
|
|
|
|
因此,**攻击者将能够设置一个特定的cookie到域和子域中,类似于** `document.cookie="session=1234; Path=/app/login; domain=.example.com"`
|
2021-10-19 00:01:07 +00:00
|
|
|
|
{% endhint %}
|
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
这可能很危险,因为攻击者可能会:
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
* **将受害者的cookie固定到攻击者的帐户**,因此如果用户没有注意到,**他将在攻击者的帐户中执行操作**,攻击者可能会获取一些有趣的信息(检查用户在平台上的搜索历史,受害者可能在帐户中设置他的信用卡...)
|
|
|
|
|
* 如果**登录后cookie不会更改**,攻击者可能只需**固定一个cookie**,等待受害者登录,然后**使用该cookie以受害者身份登录**。
|
|
|
|
|
* 如果**cookie设置了一些初始值**(例如在flask中,**cookie**可能会**设置**会话的**CSRF令牌**,并且此值在受害者登录后将保持不变),**攻击者可以设置这个已知值,然后滥用它**(在这种情况下,攻击者可以让用户执行CSRF请求,因为他知道CSRF令牌)。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-01-10 17:05:27 +00:00
|
|
|
|
## Cookie顺序
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
当浏览器接收到两个具有相同名称的cookie **部分影响相同范围**(域、子域和路径)时,**浏览器将在请求中发送两个cookie的值**。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
取决于谁具有**最具体的路径**或哪个是**最旧的**,浏览器将**首先设置cookie的值**,然后设置另一个值,如:`Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;`
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
大多数**网站只会使用第一个值**。因此,如果攻击者想设置一个cookie,最好在另一个cookie设置之前设置它,或者使用更具体的路径设置它。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
|
|
|
|
{% hint style="warning" %}
|
2024-02-09 08:09:21 +00:00
|
|
|
|
此外,**在更具体的路径中设置cookie的能力**非常有趣,因为您将能够使**受害者使用他的cookie,除了在恶意cookie设置将在之前发送的特定路径中**。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
{% endhint %}
|
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## 绕过保护
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
对抗这种攻击的可能保护措施是,**Web服务器不会接受具有相同名称但两个不同值的两个cookie的请求**。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-01-10 17:05:27 +00:00
|
|
|
|
为了绕过攻击者在受害者已经获得cookie之后设置cookie的情况,攻击者可以引起**cookie溢出**,然后,一旦**合法cookie被删除,设置恶意cookie**。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
|
|
|
|
{% content-ref url="cookie-jar-overflow.md" %}
|
|
|
|
|
[cookie-jar-overflow.md](cookie-jar-overflow.md)
|
|
|
|
|
{% endcontent-ref %}
|
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
另一个有用的**绕过**方法可能是**对cookie名称进行URL编码**,因为一些保护措施会检查请求中具有相同名称的2个cookie,然后服务器将解码cookie的名称。
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-01-10 17:05:27 +00:00
|
|
|
|
## Cookie炸弹
|
2021-10-20 23:25:53 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
Cookie Tossing攻击也可以用于执行**Cookie炸弹**攻击:
|
2021-10-20 23:25:53 +00:00
|
|
|
|
|
|
|
|
|
{% content-ref url="cookie-bomb.md" %}
|
|
|
|
|
[cookie-bomb.md](cookie-bomb.md)
|
|
|
|
|
{% endcontent-ref %}
|
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
## 防御措施
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-01-10 17:05:27 +00:00
|
|
|
|
### **在cookie名称中使用前缀`__Host`**
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
* 如果cookie名称具有此前缀,**只有在标记为安全,从安全来源发送,不包括Domain属性,并且Path属性设置为/**的情况下,它**才会被接受**在Set-Cookie指令中
|
|
|
|
|
* **这可以防止子域强制将cookie强制到顶级域,因为这些cookie可以被视为“域锁定”**
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## 参考资料
|
2021-10-19 00:01:07 +00:00
|
|
|
|
|
2022-04-05 22:24:52 +00:00
|
|
|
|
* [**@blueminimal**](https://twitter.com/blueminimal)
|
|
|
|
|
* [**https://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers**](https://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers)
|
|
|
|
|
* [**https://github.blog/2013-04-09-yummy-cookies-across-domains/**](https://github.blog/2013-04-09-yummy-cookies-across-domains/)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS红队专家)</strong></a><strong>!</strong></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-01-10 17:05:27 +00:00
|
|
|
|
支持HackTricks的其他方式:
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|
|
|
|
* 获取[**官方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来分享您的黑客技巧。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|