赏金故事 | 绕过邀请流程,获取管理员访问权限

admin 2025年5月5日23:16:54评论4 views字数 1111阅读3分42秒阅读模式

扫码领资料

获网安教程

赏金故事 | 绕过邀请流程,获取管理员访问权限
赏金故事 | 绕过邀请流程,获取管理员访问权限

Track安全社区投稿~  

赢千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

在这篇文章中,我将分享我是如何在一个 Web 应用中发现一个访问控制缺失(Broken Access Control,BAC)漏洞的。这个漏洞使我在邀请被禁用之后,仍然能够获得该公司的完整管理员权限。

首先,让我们了解一下这个应用是如何工作的:

以下是该应用中的正常用户流程:

  1. 1. 创建一个账户。
  2. 2. 创建一家公司。
  3. 3. 你可以邀请其他人加入你的公司(作为管理员或员工)。
赏金故事 | 绕过邀请流程,获取管理员访问权限

被邀请的用户会收到一封带有加入链接的电子邮件

一旦他们接受邀请,就会加入你的公司。

赏金故事 | 绕过邀请流程,获取管理员访问权限

现在事情开始变得有趣了……

如果你是公司的所有者,你可以在对方接受邀请之前禁用该邀请

一旦被禁用,被邀请的人点击他们的链接时,就会看到如下内容:

赏金故事 | 绕过邀请流程,获取管理员访问权限

如果他们在登录后尝试手动切换到那家公司,也会遇到错误。

赏金故事 | 绕过邀请流程,获取管理员访问权限

到目前为止,一切看起来都很稳固,前端在正常工作。但这时我产生了一个想法……

如果我直接与后端通信会怎么样?

在使用 Burp Suite 研究这个应用时,我注意到了一些东西:

该应用使用了经典的 Authorization: Bearer <token> 头来验证你是否已登录以及你可以执行哪些操作。

赏金故事 | 绕过邀请流程,获取管理员访问权限

“如果我在邀请被禁用之后,仍然使用我的 token 手动发送 API 请求,会怎么样?”

于是我尝试了。

以下是我一步一步做的操作:

  1. 1. 创建了两个账户:账户 A(公司所有者),账户 B(攻击者)。
  2. 2. 用账户 A 邀请账户 B 作为管理员
  3. 3. 在我接受邀请之前,我登录账户 A 并禁用了该邀请
  4. 4. 然后我登录账户 B,打开 Burp Suite,获取了我的授权 token(Authorization token)
  5. 5. 我开始直接操作 API 请求 —— 不通过前端。

你猜怎么着?

成功了,居然真的成功了。

赏金故事 | 绕过邀请流程,获取管理员访问权限

我可以:

  • • 访问公司
  • • 邀请新用户
  • • 移除现有成员
  • • 重新邀请我自己
  • • 基本上就像一个完整的管理员一样操作

问题原因

后端只检查了 token 是否有效,以及用户是否在被邀请列表中

它根本不关心我是否接受了邀请,也不关心邀请是否已被禁用。

只要你有一个有效的 token + 你在被邀请列表中 = 你相当于是管理员。

这就是一个典型的访问控制缺失(Broken Access Control)漏洞。

于是我向该项目提交了这个漏洞,他们成功复现了,并对其进行了分类处理(triage)。

赏金故事 | 绕过邀请流程,获取管理员访问权限
获取更多精彩内容,尽在Track安全社区~:https://bbs.zkaq.cn

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):赏金故事 | 绕过邀请流程,获取管理员访问权限

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月5日23:16:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   赏金故事 | 绕过邀请流程,获取管理员访问权限https://cn-sec.com/archives/4028094.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息