mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
125 lines
4.7 KiB
Markdown
125 lines
4.7 KiB
Markdown
# 账户接管
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
## **授权问题**
|
||
|
||
应尝试更改账户的电子邮件,并且必须检查确认过程。如果发现确认过程较弱,则应将电子邮件更改为目标受害者的电子邮件并进行确认。
|
||
|
||
## **Unicode规范化问题**
|
||
|
||
1. 目标受害者的账户 `victim@gmail.com`
|
||
2. 应使用Unicode创建一个账户\
|
||
例如:`vićtim@gmail.com`
|
||
|
||
如[**此演讲**](https://www.youtube.com/watch?v=CiIyaZ3x49c)所述,之前的攻击也可以通过滥用第三方身份提供者来实现:
|
||
|
||
- 在第三方身份提供者中创建一个与受害者相似的电子邮件账户,使用某些Unicode字符(`vićtim@company.com`)。
|
||
- 第三方提供者不应验证电子邮件
|
||
- 如果身份提供者验证电子邮件,您可以攻击域名部分,例如:`victim@ćompany.com`,并注册该域名,希望身份提供者生成域名的ascii版本,而受害者平台规范化域名。
|
||
- 通过此身份提供者登录受害者平台,受害者平台应规范化Unicode字符并允许您访问受害者账户。
|
||
|
||
有关更多详细信息,请参阅关于Unicode规范化的文档:
|
||
|
||
{{#ref}}
|
||
unicode-injection/unicode-normalization.md
|
||
{{#endref}}
|
||
|
||
## **重用重置令牌**
|
||
|
||
如果目标系统允许**重置链接被重用**,应努力使用`gau`、`wayback`或`scan.io`等工具**查找更多重置链接**。
|
||
|
||
## **预账户接管**
|
||
|
||
1. 应使用受害者的电子邮件在平台上注册,并设置密码(应尝试确认,尽管缺乏对受害者电子邮件的访问可能使这变得不可能)。
|
||
2. 应等待受害者使用OAuth注册并确认账户。
|
||
3. 希望常规注册将被确认,从而允许访问受害者的账户。
|
||
|
||
## **CORS配置错误导致账户接管**
|
||
|
||
如果页面包含**CORS配置错误**,您可能能够**窃取用户的敏感信息**以**接管他的账户**或使他更改身份验证信息以达到同样的目的:
|
||
|
||
{{#ref}}
|
||
cors-bypass.md
|
||
{{#endref}}
|
||
|
||
## **CSRF导致账户接管**
|
||
|
||
如果页面易受CSRF攻击,您可能能够使**用户修改他的密码**、电子邮件或身份验证,以便您可以访问它:
|
||
|
||
{{#ref}}
|
||
csrf-cross-site-request-forgery.md
|
||
{{#endref}}
|
||
|
||
## **XSS导致账户接管**
|
||
|
||
如果您在应用程序中发现XSS,您可能能够窃取cookies、local storage或网页信息,从而允许您接管账户:
|
||
|
||
{{#ref}}
|
||
xss-cross-site-scripting/
|
||
{{#endref}}
|
||
|
||
## **同源 + Cookies**
|
||
|
||
如果您发现有限的XSS或子域名接管,您可以操作cookies(例如固定它们)以尝试妥协受害者账户:
|
||
|
||
{{#ref}}
|
||
hacking-with-cookies/
|
||
{{#endref}}
|
||
|
||
## **攻击密码重置机制**
|
||
|
||
{{#ref}}
|
||
reset-password.md
|
||
{{#endref}}
|
||
|
||
## **响应操控**
|
||
|
||
如果身份验证响应可以**简化为一个简单的布尔值,只需尝试将false更改为true**,看看您是否获得任何访问权限。
|
||
|
||
## OAuth导致账户接管
|
||
|
||
{{#ref}}
|
||
oauth-to-account-takeover.md
|
||
{{#endref}}
|
||
|
||
## Host头注入
|
||
|
||
1. 在发起密码重置请求后,修改Host头。
|
||
2. 将`X-Forwarded-For`代理头更改为`attacker.com`。
|
||
3. 同时将Host、Referrer和Origin头更改为`attacker.com`。
|
||
4. 在发起密码重置并选择重新发送邮件后,采用上述三种方法。
|
||
|
||
## 响应操控
|
||
|
||
1. **代码操控**:将状态代码更改为`200 OK`。
|
||
2. **代码和主体操控**:
|
||
- 将状态代码更改为`200 OK`。
|
||
- 将响应主体修改为`{"success":true}`或空对象`{}`。
|
||
|
||
这些操控技术在使用JSON进行数据传输和接收的场景中有效。
|
||
|
||
## 更改当前会话的电子邮件
|
||
|
||
来自[此报告](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
|
||
|
||
- 攻击者请求更改他的电子邮件为新的电子邮件
|
||
- 攻击者收到确认更改电子邮件的链接
|
||
- 攻击者将链接发送给受害者以便他点击
|
||
- 受害者的电子邮件被更改为攻击者指示的电子邮件
|
||
- 攻击者可以恢复密码并接管账户
|
||
|
||
这也发生在[**此报告**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)中。
|
||
|
||
### 旧Cookies
|
||
|
||
如[**在此帖子中**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9)所述,可以登录到一个账户,保存cookies作为经过身份验证的用户,注销,然后再次登录。\
|
||
在新的登录中,尽管可能生成不同的cookies,但旧的cookies又开始工作。
|
||
|
||
## 参考文献
|
||
|
||
- [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050)
|
||
- [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|