# 账户接管
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持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来分享您的黑客技巧。
## **授权问题**
应尝试更改账户的电子邮件,并检查确认流程是否**存在弱点**。如果发现存在弱点,应将电子邮件更改为预期受害者的电子邮件,然后进行确认。
## **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)
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持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来分享您的黑客技巧。