通过模拟功能实现提权(Bugcrowd)

admin 2025年1月6日08:30:10评论12 views字数 1438阅读4分47秒阅读模式
通过模拟功能实现提权(Bugcrowd)

关注公众号,阅读优质好文。

我将与大家分享我在 Bugcrowd 的某个项目中发现的一个漏洞,该项目中有一个“用户模拟”功能。

什么是用模拟?

用户模拟允许管理员在不知晓用户凭据的情况下“以用户身份登录”。这种功能常见于管理员需要调试问题、审查用户权限或解决投诉的平台中。管理员通过用户模拟可以:

  • 调试用户报告的问题;

  • 验证用户特定配置;

  • 从用户的角度调试平台行为。

例如,如果某个用户报告无法访问其文件,管理员可能会模拟该用户测试上传功能并调查问题。一旦问题解决,管理员会结束模拟会话并恢复到其管理员账户。

通过模拟功能实现提权(Bugcrowd)

漏洞细节

在目标系统(如 example.com)中,平台提供了一项用户模拟功能来帮助管理员解决用户问题。具体如下:

1.管理员模拟用户

  • 管理员进入“用户”部分,选择需要模拟的用户;

  • 点击“模拟”后,应用会为管理员创建一个新会话,以用户身份操作。

2.会话管理

  • 模拟期间,管理员的原始会话会被暂停;

  • 模拟会话与被模拟的用户绑定。

3.停止模拟

  • 当管理员点击“停止模拟”时,会返回到原始会话。

我在调查“活动会话”功能时(该功能属于另一个端点)发现,该页面显示了登录用户所有的活动会话,包括模拟期间创建的会话。页面内容如下:

通过模拟功能实现提权(Bugcrowd)

我决定撤销除当前会话以外的所有会话(便于清理不必要的会话)。现在,唯一活跃的会话是我的。通过模拟功能实现提权(Bugcrowd)

接着,当管理员模拟我的账户时,会话情况如下:

通过模拟功能实现提权(Bugcrowd)

并且,会话 ID 可以通过以下两种方式看到:

1、查看 HTML 源代码在浏览器开发者工具(按 F12)中检查“撤销”按钮的 HTML 源代码,数据中会暴露会话 ID,例如:

<button id="revoke-session-1234" class="revoke-button" data-session-id="abcd1234efgh5678ijklmnop">Revoke</button>
2、拦截 HTTP 请求点击“撤销”按钮后拦截 HTTP 请求,发现以下内容:
POST /users/sessions/revoke HTTP/1.1Host: example.comContent-Type: application/jsonAuthorization: Bearer <access_token>{"session_id""abcd1234efgh5678ijklmnop"}
我复制了拦截请求中的会话 ID,然后打开开发者工具(F12),进入 Cookies 部分,将现有会话 ID 替换为管理员的会话 ID,或者手动设置,例如:
document.cookie = "_session_id=abcd1234efgh5678ijklmnop";
通过模拟功能实现提权(Bugcrowd)通过模拟功能实现提权(Bugcrowd)

刷新页面后,我成功通过管理员的临时会话实现管理员身份登录。接着,我点击“停止模拟”,系统返回管理员原始会话,从而使得我保持管理员原始身份,进而拥有所有权限。通过模拟功能实现提权(Bugcrowd)

归纳

1、攻击者以普通用户身份登录平台;

2、在“活动会话”标签页中,撤销除当前会话外的所有会话,钓鱼管理员;

3、管理员登录并模拟攻击者的账户;

4、模拟后,管理员获得与攻击者账户关联的临时会话 ID;

5、攻击者通过 HTML 源代码或拦截 HTTP 请求获取该会话 ID;

6、攻击者在开发者工具中替换现有会话 ID 为管理员的会话 ID,并刷新页面;

7、攻击者以管理员身份登录,并点击“停止模拟”按钮;

8、系统恢复管理员的原始会话,攻击者成功以管理员身份保持登录。

赏金

该漏洞被公司确认为高危漏洞,最终支付了 1250 美元 的赏金。

通过模拟功能实现提权(Bugcrowd)

原文始发于微信公众号(玲珑安全):通过模拟功能实现提权(Bugcrowd)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月6日08:30:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   通过模拟功能实现提权(Bugcrowd)https://cn-sec.com/archives/3594366.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息