hacktricks/pentesting-web/account-takeover.md

121 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 账户接管
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您想看到您的**公司在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来分享您的黑客技巧。
</details>
## **授权问题**
应尝试更改账户的电子邮件,并检查确认流程是否**存在弱点**。如果发现存在弱点,应将电子邮件更改为预期受害者的电子邮件,然后进行确认。
## **Unicode规范化问题**
1. 针对预期受害者的账户 `victim@gmail.com`
2. 应使用Unicode创建一个账户\
例如:`vićtim@gmail.com`
有关更多详细信息请参考Unicode规范化文档
[unicode-normalization.md](unicode-injection/unicode-normalization.md)
## **重用重置令牌**
如果目标系统允许**重复使用重置链接**,应努力使用工具如`gau`、`wayback`或`scan.io`来**查找更多重置链接**。
## **账户接管前**
1. 应使用受害者的电子邮件在平台上注册,并设置密码(尽管缺乏访问受害者电子邮件的权限可能会使此操作变得不可能)。
2. 应等待受害者使用OAuth注册并确认账户。
3. 希望常规注册将被确认,从而允许访问受害者的账户。
## **CORS配置错误导致账户接管**
如果页面包含**CORS配置错误**,您可能能够从用户那里**窃取敏感信息**以**接管他的账户**或让他更改认证信息以达到相同的目的:
{% content-ref url="cors-bypass.md" %}
[cors-bypass.md](cors-bypass.md)
{% endcontent-ref %}
## **Csrf导致账户接管**
如果页面容易受到CSRF攻击您可能能够让用户修改他的密码、电子邮件或认证信息以便您随后访问
{% content-ref url="csrf-cross-site-request-forgery.md" %}
[csrf-cross-site-request-forgery.md](csrf-cross-site-request-forgery.md)
{% endcontent-ref %}
## **XSS导致账户接管**
如果在应用程序中发现XSS漏洞您可能能够窃取cookie、本地存储或网页信息从而接管账户
{% content-ref url="xss-cross-site-scripting/" %}
[xss-cross-site-scripting](xss-cross-site-scripting/)
{% endcontent-ref %}
## **同源+Cookies**
如果发现有限的XSS或子域接管您可以操作cookie例如固定它们以尝试危害受害者账户
{% content-ref url="hacking-with-cookies/" %}
[hacking-with-cookies](hacking-with-cookies/)
{% endcontent-ref %}
## **攻击密码重置机制**
{% content-ref url="reset-password.md" %}
[reset-password.md](reset-password.md)
{% endcontent-ref %}
## **响应操纵**
如果认证响应可以**简化为一个简单的布尔值只需尝试将false更改为true**,看看是否能够获得任何访问权限。
## OAuth到账户接管
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
{% endcontent-ref %}
## 主机头注入
1. 在发起密码重置请求时修改主机头。
2. 将`X-Forwarded-For`代理头更改为`attacker.com`。
3. 同时将主机头、引用者和来源头更改为`attacker.com`。
4. 在发起密码重置后选择重新发送邮件时,应用所有上述方法。
## 响应操纵
1. **代码操纵**:将状态代码更改为`200 OK`。
2. **代码和主体操纵**
- 将状态代码更改为`200 OK`。
- 修改响应主体为`{"success":true}`或空对象`{}`。
这些操纵技术在使用JSON进行数据传输和接收的情况下非常有效。
## 参考
* [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050)
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您想看到您的**公司在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来分享您的黑客技巧。
</details>