2023-08-03 19:12:22 +00:00
|
|
|
|
# 重置/忘记密码绕过
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
{% hint style="success" %}
|
|
|
|
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
|
|
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
<details>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
<summary>支持 HackTricks</summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|
|
|
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](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
|
|
|
|
|
2023-12-31 04:43:12 +00:00
|
|
|
|
</details>
|
2024-07-19 15:59:20 +00:00
|
|
|
|
{% endhint %}
|
2022-10-27 23:22:18 +00:00
|
|
|
|
|
2024-05-05 22:03:00 +00:00
|
|
|
|
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
加入 [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 服务器,与经验丰富的黑客和漏洞赏金猎人交流!
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2024-02-05 02:56:36 +00:00
|
|
|
|
**黑客见解**\
|
2024-07-19 15:59:20 +00:00
|
|
|
|
参与深入探讨黑客的刺激与挑战的内容
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2023-12-31 04:43:12 +00:00
|
|
|
|
**实时黑客新闻**\
|
2024-07-19 15:59:20 +00:00
|
|
|
|
通过实时新闻和见解,跟上快速变化的黑客世界
|
2023-07-14 15:03:41 +00:00
|
|
|
|
|
2023-12-31 04:43:12 +00:00
|
|
|
|
**最新公告**\
|
2024-07-19 15:59:20 +00:00
|
|
|
|
了解最新的漏洞赏金计划和重要平台更新
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
**今天就加入我们,** [**Discord**](https://discord.com/invite/N3FrSbmwdy),与顶尖黑客开始合作吧!
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
## **通过引荐人泄露密码重置令牌**
|
2024-05-05 22:03:00 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 如果密码重置令牌包含在 URL 中,HTTP referer 头可能会泄露该令牌。这可能发生在用户请求密码重置后点击第三方网站链接时。
|
|
|
|
|
* **影响**:通过跨站请求伪造 (CSRF) 攻击可能导致账户接管。
|
|
|
|
|
* **利用**:要检查密码重置令牌是否在 referer 头中泄露,**请求密码重置**到您的电子邮件地址,并**点击提供的重置链接**。**不要立即更改密码**。相反,**在使用 Burp Suite 拦截请求时**,**导航到第三方网站**(如 Facebook 或 Twitter)。检查请求以查看 **referer 头是否包含密码重置令牌**,因为这可能会将敏感信息暴露给第三方。
|
2024-02-05 02:56:36 +00:00
|
|
|
|
* **参考**:
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* [HackerOne 报告 342693](https://hackerone.com/reports/342693)
|
|
|
|
|
* [HackerOne 报告 272379](https://hackerone.com/reports/272379)
|
|
|
|
|
* [密码重置令牌泄露文章](https://medium.com/@rubiojhayz1234/toyotas-password-reset-token-and-email-address-leak-via-referer-header-b0ede6507c6a)
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
2024-02-09 08:09:21 +00:00
|
|
|
|
## **密码重置中毒**
|
2024-05-05 22:03:00 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 攻击者可能在密码重置请求中操纵 Host 头,将重置链接指向恶意网站。
|
|
|
|
|
* **影响**:通过将重置令牌泄露给攻击者,可能导致账户接管。
|
2024-02-05 02:56:36 +00:00
|
|
|
|
* **缓解步骤**:
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 验证 Host 头是否在允许的域名白名单中。
|
|
|
|
|
* 使用安全的服务器端方法生成绝对 URL。
|
|
|
|
|
* **修补**:使用 `$_SERVER['SERVER_NAME']` 构造密码重置 URL,而不是 `$_SERVER['HTTP_HOST']`。
|
2024-02-05 02:56:36 +00:00
|
|
|
|
* **参考**:
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* [Acunetix 关于密码重置中毒的文章](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
|
|
|
|
## **通过操纵电子邮件参数重置密码**
|
2024-05-05 22:03:00 +00:00
|
|
|
|
|
2024-06-13 10:01:01 +00:00
|
|
|
|
攻击者可以通过添加额外的电子邮件参数来操纵密码重置请求,以转移重置链接。
|
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 使用 & 添加攻击者电子邮件作为第二个参数
|
2024-06-13 10:01:01 +00:00
|
|
|
|
```php
|
|
|
|
|
POST /resetPassword
|
|
|
|
|
[...]
|
|
|
|
|
email=victim@email.com&email=attacker@email.com
|
|
|
|
|
```
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 使用 %20 将攻击者电子邮件作为第二个参数添加
|
2024-06-13 10:01:01 +00:00
|
|
|
|
```php
|
|
|
|
|
POST /resetPassword
|
|
|
|
|
[...]
|
|
|
|
|
email=victim@email.com%20email=attacker@email.com
|
|
|
|
|
```
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 使用 | 将攻击者电子邮件作为第二个参数添加
|
2024-06-13 10:01:01 +00:00
|
|
|
|
```php
|
|
|
|
|
POST /resetPassword
|
|
|
|
|
[...]
|
|
|
|
|
email=victim@email.com|email=attacker@email.com
|
|
|
|
|
```
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 使用抄送将攻击者电子邮件添加为第二个参数
|
2024-06-13 10:01:01 +00:00
|
|
|
|
```php
|
|
|
|
|
POST /resetPassword
|
|
|
|
|
[...]
|
|
|
|
|
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
|
|
|
|
|
```
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 使用 bcc 将攻击者电子邮件作为第二个参数添加
|
2024-06-13 10:01:01 +00:00
|
|
|
|
```php
|
|
|
|
|
POST /resetPassword
|
|
|
|
|
[...]
|
|
|
|
|
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
|
|
|
|
|
```
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 使用 , 将攻击者电子邮件作为第二个参数添加
|
2024-06-13 10:01:01 +00:00
|
|
|
|
```php
|
|
|
|
|
POST /resetPassword
|
|
|
|
|
[...]
|
|
|
|
|
email="victim@mail.tld",email="attacker@mail.tld"
|
|
|
|
|
```
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 在 JSON 数组中将攻击者电子邮件作为第二个参数添加
|
2024-06-13 10:01:01 +00:00
|
|
|
|
```php
|
|
|
|
|
POST /resetPassword
|
|
|
|
|
[...]
|
|
|
|
|
{"email":["victim@mail.tld","atracker@mail.tld"]}
|
|
|
|
|
```
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 服务器端正确解析和验证电子邮件参数。
|
|
|
|
|
* 使用预处理语句或参数化查询以防止注入攻击。
|
|
|
|
|
* **参考文献**:
|
2024-06-13 10:01:01 +00:00
|
|
|
|
* [https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be](https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be)
|
|
|
|
|
* [https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/](https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/)
|
|
|
|
|
* [https://twitter.com/HusseiN98D/status/1254888748216655872](https://twitter.com/HusseiN98D/status/1254888748216655872)
|
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
## **通过API参数更改任何用户的电子邮件和密码**
|
2024-06-13 10:01:01 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 攻击者可以在API请求中修改电子邮件和密码参数以更改账户凭据。
|
2024-06-13 10:01:01 +00:00
|
|
|
|
```php
|
|
|
|
|
POST /api/changepass
|
|
|
|
|
[...]
|
|
|
|
|
("form": {"email":"victim@email.tld","password":"12345678"})
|
|
|
|
|
```
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 确保严格的参数验证和身份验证检查。
|
|
|
|
|
* 实施强大的日志记录和监控,以检测和响应可疑活动。
|
|
|
|
|
* **参考**:
|
|
|
|
|
* [通过API参数操纵进行完整账户接管](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240)
|
|
|
|
|
|
|
|
|
|
## **无速率限制:电子邮件轰炸**
|
|
|
|
|
|
|
|
|
|
* 密码重置请求缺乏速率限制可能导致电子邮件轰炸,使用户被重置电子邮件淹没。
|
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 基于IP地址或用户账户实施速率限制。
|
|
|
|
|
* 使用CAPTCHA挑战以防止自动滥用。
|
|
|
|
|
* **参考**:
|
|
|
|
|
* [HackerOne报告280534](https://hackerone.com/reports/280534)
|
|
|
|
|
|
|
|
|
|
## **找出密码重置令牌的生成方式**
|
|
|
|
|
|
|
|
|
|
* 理解令牌生成背后的模式或方法可以导致预测或暴力破解令牌。一些选项:
|
|
|
|
|
* 基于时间戳
|
|
|
|
|
* 基于用户ID
|
|
|
|
|
* 基于用户的电子邮件
|
|
|
|
|
* 基于名字和姓氏
|
|
|
|
|
* 基于出生日期
|
|
|
|
|
* 基于加密
|
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 使用强大的加密方法生成令牌。
|
|
|
|
|
* 确保足够的随机性和长度以防止可预测性。
|
|
|
|
|
* **工具**:使用Burp Sequencer分析令牌的随机性。
|
|
|
|
|
|
|
|
|
|
## **可猜测的UUID**
|
|
|
|
|
|
|
|
|
|
* 如果UUID(版本1)是可猜测或可预测的,攻击者可能会暴力破解它们以生成有效的重置令牌。检查:
|
|
|
|
|
|
2024-06-13 10:01:01 +00:00
|
|
|
|
{% content-ref url="uuid-insecurities.md" %}
|
|
|
|
|
[uuid-insecurities.md](uuid-insecurities.md)
|
|
|
|
|
{% endcontent-ref %}
|
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 使用GUID版本4以获得随机性,或对其他版本实施额外的安全措施。
|
|
|
|
|
* **工具**:使用[guidtool](https://github.com/intruder-io/guidtool)分析和生成GUID。
|
2024-06-13 10:01:01 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
## **响应操纵:用好响应替换坏响应**
|
2024-06-13 10:01:01 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 操纵HTTP响应以绕过错误消息或限制。
|
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 实施服务器端检查以确保响应完整性。
|
|
|
|
|
* 使用安全通信通道如HTTPS以防止中间人攻击。
|
|
|
|
|
* **参考**:
|
|
|
|
|
* [实时漏洞赏金活动中的关键漏洞](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3)
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
|
|
|
|
## **使用过期令牌**
|
2024-05-05 22:03:00 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 测试过期令牌是否仍可用于密码重置。
|
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 实施严格的令牌过期政策,并在服务器端验证令牌过期。
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
|
|
|
|
## **暴力破解密码重置令牌**
|
2024-05-05 22:03:00 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 尝试使用Burpsuite和IP-Rotator等工具暴力破解重置令牌,以绕过基于IP的速率限制。
|
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 实施强大的速率限制和账户锁定机制。
|
|
|
|
|
* 监控可疑活动,以指示暴力破解攻击。
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
|
|
|
|
## **尝试使用您的令牌**
|
2024-05-05 22:03:00 +00:00
|
|
|
|
|
2024-02-05 02:56:36 +00:00
|
|
|
|
* 测试攻击者的重置令牌是否可以与受害者的电子邮件一起使用。
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 确保令牌绑定到用户会话或其他用户特定属性。
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
|
|
|
|
## **注销/密码重置中的会话失效**
|
2024-05-05 22:03:00 +00:00
|
|
|
|
|
2024-02-05 02:56:36 +00:00
|
|
|
|
* 确保用户注销或重置密码时会话失效。
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 实施适当的会话管理,确保所有会话在注销或密码重置时失效。
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
2024-02-06 04:10:34 +00:00
|
|
|
|
## **注销/密码重置中的会话失效**
|
2024-05-05 22:03:00 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 重置令牌应具有过期时间,过期后将失效。
|
|
|
|
|
* **缓解步骤**:
|
|
|
|
|
* 为重置令牌设置合理的过期时间,并在服务器端严格执行。
|
2024-06-13 10:01:01 +00:00
|
|
|
|
|
|
|
|
|
## 参考
|
2024-02-05 02:56:36 +00:00
|
|
|
|
|
|
|
|
|
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
|
2023-07-14 15:03:41 +00:00
|
|
|
|
|
2024-05-05 22:03:00 +00:00
|
|
|
|
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
2023-07-14 15:03:41 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
加入 [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 服务器,与经验丰富的黑客和漏洞赏金猎人交流!
|
2022-10-27 23:22:18 +00:00
|
|
|
|
|
2024-02-05 02:56:36 +00:00
|
|
|
|
**黑客见解**\
|
2024-07-19 15:59:20 +00:00
|
|
|
|
参与深入探讨黑客的刺激和挑战的内容
|
2022-10-27 23:22:18 +00:00
|
|
|
|
|
2023-12-31 04:43:12 +00:00
|
|
|
|
**实时黑客新闻**\
|
2024-07-19 15:59:20 +00:00
|
|
|
|
通过实时新闻和见解,跟上快速变化的黑客世界
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2023-12-31 04:43:12 +00:00
|
|
|
|
**最新公告**\
|
2024-07-19 15:59:20 +00:00
|
|
|
|
及时了解最新的漏洞赏金发布和重要平台更新
|
|
|
|
|
|
|
|
|
|
**加入我们** [**Discord**](https://discord.com/invite/N3FrSbmwdy),今天就开始与顶级黑客合作!
|
|
|
|
|
|
|
|
|
|
{% hint style="success" %}
|
|
|
|
|
学习和实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
|
|
|
学习和实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
|
|
|
|
|
|
<summary>支持HackTricks</summary>
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2024-07-19 15:59:20 +00:00
|
|
|
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|
|
|
|
* **加入** 💬 [**Discord小组**](https://discord.gg/hRep4RUj7f)或[**电报小组**](https://t.me/peass),或在**Twitter**上关注我们 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
|
|
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR分享黑客技巧。
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
{% endhint %}
|