一次邀请链接的简单配置错误,如何让我实现完整账号接管(ATO)

admin 2026-01-31 02:09:33 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档详细阐述了利用可重复使用的邀请链接与响应篡改实现完整账号接管的过程。攻击者利用永久有效的邀请链接绕过密码及双因素认证直接登录,随后通过篡改响应包将自身邮箱设为主邮箱,劫持密码重置流程,最终获取账号完全控制权。 综合评分: 86 文章分类: WEB安全,漏洞分析,SRC活动,实战经验


cover_image

一次邀请链接的简单配置错误,如何让我实现完整账号接管(ATO)

haidragon haidragon

安全狗的自我修养

2026年1月30日 14:48 湖南

官网:http://securitytech.cc

在这篇文章中,我将讲解不止一个漏洞,以及我是如何将它们串联起来,最终达到一个严重影响:完整账号接管(Full Account Takeover)

给自己倒杯咖啡或茶吧,因为今天的旅程会又长又刺激(最后一部分最精彩)。

我们直接进入场景。


初始发现

假设目标网站是 target.com。在这个平台上,你可以创建组织、管理它,并邀请不同权限的人加入。我们关注的是:邀请链接(Invitation Link)

当你邀请某人加入组织时,会给对方发送一个链接。如果用户还没有账号,点击链接会自动创建一个账号。

但问题出现在:被邀请的人已经有账号时。

当他们点击邀请链接时,系统会直接登录他们的账号


邀请链接的正常逻辑应该是什么?

通常情况下,用户打开邀请链接后,应该先要求输入密码,而不是直接授予访问权限。


第二个问题:邀请链接可重复使用

第二个问题是:邀请链接不是一次性的。

  • 可以被无限次使用
  • 即使用户接受或拒绝后仍然有效
  • 链接永不过期

这带来了严重的安全风险。


如果链接泄露会发生什么?

我们问一个问题:

如果邀请链接被泄露或被攻击者获取,会发生什么?

答案既简单又危险:

攻击者可以直接访问受害者账号,而无需:

  • 邮箱
  • 密码
  • 任何认证步骤

只要一个链接 = 完整登录权限。

这个场景和我第一次拿到漏洞赏金时的情况完全一样。


绕过双因素认证(2FA)

在我发布之前的文章后,有人告诉我:

你应该测试邀请链接是否也能绕过 2FA。

当时漏洞已经修复,没法测试。但这次我遇到了非常类似的漏洞,所以我再次尝试。

我进入账号设置,开启了 Two-Factor Authentication(2FA)

  • 系统生成 二维码
  • 使用 Authenticator 扫描
  • App 生成基于时间的一次性密码(TOTP)
  • 确认后开启成功

开启 2FA 后,我再次打开邀请链接。

结果很震惊:

邀请链接同样可以绕过 2FA。

即使受害者认为账号很安全, 邀请链接却完全无视这一点。


最有意思的部分

此时我开始思考:

如果邀请链接过期了,我如何让对账号的控制永久存在

第一个思路是:把受害者邮箱改成我的邮箱。

我添加了自己的邮箱。

但系统并没有删除受害者邮箱,而是:

  • 把我的邮箱作为未验证的次要邮箱
  • 验证链接发送给受害者邮箱

UI 显示:

  • 受害者邮箱 → Primary + Verified
  • 我的邮箱 → Secondary + Not confirmed

所以第一次尝试失败。


第二个思路:

有些网站改密码不需要旧密码。但这个系统必须输入当前密码,所以行不通。

记住这张图,它是今天故事的“主角”。


响应包篡改(Response Manipulation)

我开始思考另一个办法:

为什么不试试 Burp 的 Match & Replace?

先观察接口返回。

  • 受害者邮箱 → "isPrimary": true"validatedAt": "..."
  • 我的邮箱 → "isPrimary": false"validatedAt": null

我把返回包里两者互换

刷新后,页面显示:

  • 我的邮箱 → Primary & Verified
  • 受害者邮箱 → Not confirmed

此时我尝试删除受害者邮箱,但失败了。


回到“英雄图片”

还记得改密码界面吗?

里面有个选项:

reset

如果忘记密码,可以发送重置链接。

我问自己:

如果 UI 显示我的邮箱是主邮箱,重置链接会发给谁?

答案来了。

我点击 Reset。

然后查看 Gmail。

结果:

受害者账号的重置链接发到了我的邮箱。

这说明存在漏洞:

  • 响应篡改 → 密码重置劫持

完成账号接管

我设置了新密码。

然后检查:

  • 我的邮箱 → Verified

接着:

  • 设置我的邮箱为 Primary
  • 删除受害者邮箱
  • 关闭 2FA


完整账号接管完成

此时:

  • 受害者邮箱 → 删除
  • 2FA → 关闭
  • 密码 → 攻击者控制
  • 账号 → 完全接管

完整攻击流程

  1. 受害者开启 2FA
  2. 管理员发送邀请链接
  3. 受害者正常加入
  4. 链接泄露
  5. 攻击者点击链接直接登录
  6. 绕过 2FA
  7. 响应篡改
  8. 劫持重置
  9. 删除邮箱
  10. 关闭 2FA

Full Account Takeover


最后总结

这次发现让我很自豪,因为我成功把多个小漏洞串联成致命攻击链

教训是:

  • 永远不要小看小配置错误

  • 漏洞组合会产生灾难性结果

  • 公众号:安全狗的自我修养

  • vx:2207344074

  • http://gitee.com/haidragon

  • http://github.com/haidragon

  • bilibili:haidragonx

#


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全狗的自我修养 haidragon haidragon《一次邀请链接的简单配置错误,如何让我实现完整账号接管(ATO)》

评论:0   参与:  0