hacktricks/pentesting-web/account-takeover.md

6.1 KiB
Raw Blame History

账户接管

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

授权问题

应尝试更改账户的电子邮件,并必须检查确认过程。如果发现存在弱点,应将电子邮件更改为预期受害者的电子邮件,然后进行确认。

Unicode规范化问题

  1. 针对预期受害者的账户 victim@gmail.com
  2. 应使用Unicode创建一个账户
    例如:vićtim@gmail.com

有关更多详细信息请参阅Unicode规范化文档

unicode-normalization.md

重复使用重置令牌

如果目标系统允许重复使用重置链接,应努力使用工具如gauwaybackscan.io查找更多重置链接

账户接管前

  1. 应使用受害者的电子邮件在平台上注册,并设置密码(尽管无法访问受害者的电子邮件可能会使此操作变得不可能)。
  2. 应等待受害者使用OAuth注册并确认账户。
  3. 希望常规注册将被确认,从而允许访问受害者的账户。

CORS配置错误导致账户接管

如果页面包含CORS配置错误,您可能能够从用户那里窃取敏感信息接管他的账户或让他更改认证信息以达到相同的目的:

{% content-ref url="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 {% endcontent-ref %}

XSS导致账户接管

如果在应用程序中发现XSS漏洞您可能能够窃取cookie、本地存储或网页信息从而接管账户

{% content-ref url="xss-cross-site-scripting/" %} xss-cross-site-scripting {% endcontent-ref %}

如果发现有限的XSS或子域接管您可以操作cookie例如固定它们以尝试破坏受害者账户

{% content-ref url="hacking-with-cookies/" %} hacking-with-cookies {% endcontent-ref %}

攻击密码重置机制

{% content-ref url="reset-password.md" %} reset-password.md {% endcontent-ref %}

响应操纵

如果认证响应可以简化为一个简单的布尔值只需尝试将false更改为true,看看是否获得任何访问权限。

OAuth到账户接管

{% content-ref url="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进行数据传输和接收的情况下非常有效。

更改当前会话的电子邮件

来自此报告

  • 攻击者请求更改他的电子邮件为新的电子邮件
  • 攻击者收到确认更改电子邮件的链接
  • 攻击者将链接发送给受害者,以便他点击
  • 受害者的电子邮件更改为攻击者指定的电子邮件
  • 攻击者可以恢复密码并接管账户

这也发生在此报告中。

参考

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式