“请注意,请注意,请注意”
黑客们,大家好!
今天,我很高兴与大家分享我在公共 HackerOne 漏洞赏金计划 (BBP)中发现的一个逻辑漏洞,该漏洞导致报告所有者权限被降级,并可能失去管理控制权!
不要浪费时间...让我们开始吧!
关于目标:
目标是提供各种客户服务、销售和营销自动化工具的知名客户参与和业务支持平台。
该平台的主要功能之一允许用户创建用于数据分析和协作的报告。在报告中,报告所有者可以通过分配不同的权限级别与其他用户共享访问权限,例如:
- 可以管理——完全控制报告,类似于所有者。
- 可以编辑——可以修改报告,但管理控制能力有限。
- 可以查看— 只读访问,没有任何修改权限。
出于保密原因(由于该问题仍未得到修补),我们将在本文中将该平台称为Target.com 。
深入研究报告部分
当我开始测试报告部分时,我仔细分析了它的不同功能。这使我专注于共享功能,该功能允许报告所有者与具有特定角色(可以管理、可以编辑和可以查看)的其他用户共享报告。
有权使用Target.com中的SHARE 功能的用户:
✔️所有者
✔️可以编辑
✔️可以管理
❌📌具有“可查看”权限的用户无权使用分享功能。
这意味着只有所有者、可编辑和可管理用户才能使用SHARE 功能。记住这一点,让我们来探索如何利用此漏洞来降低所有者的权限!
通过拦截共享请求,我发现当与用户共享报告时,他们的名字、姓氏和电子邮件会出现在用户界面 (UI)中,并且没有选项可以从UI本身编辑名称。即使在编辑用户设置(使用相同端点)中,唯一可用的操作是:
- 修改角色
- 从报告中删除用户
- 转让所有权
然而,当我分析JSON 请求主体时,我发现了一些有趣的东西:请求中发送了
firstname 、lastname 和 email 参数!
尝试#1——修改用户信息
我想,如果我改变这些参数会怎么样?
- 我将名字、姓氏和电子邮件的值修改为不同的值。
- UI 中出现了变化,这意味着系统允许了它!
- 然而,一旦我刷新页面,值就会恢复到原来的状态。
所以我尝试了另一种方法:
尝试#2——清除姓名和电子邮件
我没有更改值,而是将名字、姓氏和电子邮件设置为空白(“”)并测试效果:
- 这些值从用户界面中消失,这意味着用户现在显示的是空的姓名和电子邮件。
- 但再次刷新后,原来的姓名和电子邮件又恢复了。
此时,我开始觉得这不会有任何结果......
直到我注意到一些非常奇怪的事情。
意外行为——新的攻击路径
通常,当用户已在报告上共享时,他们的电子邮件不应出现在可再次共享的用户列表中。
但是......在我删除了用户的姓名和电子邮件之后,在“刷新页面之前”,同一个用户突然再次出现在“可用用户”列表中以供共享!
💡 这让我想到了一个有趣的想法💡
EXPLOIT — 降低所有者的级别!
我开始思考......“如果我清除所有者的姓名和电子邮件,然后使用相同的电子邮件但以较低的权限重新共享报告,会发生什么?”
为了测试这一点,我做了以下事情:
1️⃣我修改了所有者的详细信息——我使用拦截的请求将名字、姓氏和电子邮件设置为空白(“”)
。2️⃣在刷新页面之前,我使用所有者的原始电子邮件再次共享了报告,但这次使用的是“可以查看”权限,而不是所有者权限。
猜猜发生了什么?
电子邮件再次成功添加,令人惊讶的是,现在有两个用户使用相同的电子邮件!然而,奇怪的事情发生了——尽管我明确分配了较低的角色,但两个帐户都显示为“所有者”,而不是“仅查看” 。
意想不到的后果
当我切换回原始所有者的帐户时,我注意到一个大问题:
- 所有者的权限被降级,即使他们的角色仍然被标记为“所有者”,但这只是在 UI 中。
- 几个关键的权限消失了,这意味着所有者失去了对报告的控制权!
事情是这样的:
❌ OWNER 无法再与具有“可管理”或“可编辑”角色的用户共享报告。❌仅查看用户无法升级到更高角色。❌编辑用户无法再提升为管理用户。❌如果不存在其他管理用户,则整个报告将被永久锁定,无法恢复管理控制权!
这彻底打破了权限层次结构,允许任何可以编辑或可以管理的用户永久降级所有者的访问权限,从而导致完全失去控制。
影响:
这意味着具有“可以编辑”或“可以管理”权限的攻击者可以利用此逻辑错误彻底剥夺原始 OWNER 的管理权力,从而导致权限永久降级。
尽管系统仍将他们显示为 OWNER,但他们不再具有管理共享设置或修改报告访问级别的权限。如果不存在其他管理用户,则无法恢复对报告的控制。
“一个简单的逻辑缺陷可能会造成巨大的破坏!” ⚠️
我向该计划报告了这个漏洞,经过他们的调查,他们承认了这个问题并奖励了我一笔赏金 — 感谢真主! 🙌💰
希望您觉得我的故事有用!如果有人有任何补充或建议,请访问我的社交媒体帐户 — 如果您能与我联系,我将不胜感激。
[http://github.com/haidragon](https://link.zhihu.com/?target=http%3A//github.com/haidragon)
[http://gitee.com/haidragon](https://link.zhihu.com/?target=http%3A//gitee.com/haidragon)
公众号:安全狗的自我修养
bilibili:haidragonx
原文始发于微信公众号(安全狗的自我修养):业务逻辑错误导致报告所有者权限未经授权降级
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论