$1700 IDOR:未经授权修改网站托管配置
大家好!我最近在ExHub发现了一个IDOR(不安全的直接对象引用)漏洞,攻击者无需适当权限即可修改任意项目的网站托管配置。因此发现,我获得了1500美元奖金外加200美元额外奖励。让我们深入了解这个漏洞的工作原理、利用方法及其重要性。
理解目标
ExHub是一个基于hulia的开发平台,提供云托管、项目协作和部署功能。其中一项功能允许用户配置项目的网站托管设置,决定项目的部署和访问方式。为维护安全,只有授权用户才能修改项目的网站托管设置。然而,这一限制未得到正确执行,导致未经授权用户仅需知道项目ID即可修改托管配置。
漏洞:通过直接API请求进行未授权修改
该漏洞存在于ExHub的项目部署配置API中,缺乏适当的授权检查。这使得任何用户(包括获得项目ID的未认证攻击者)都能发送精心构造的请求来修改项目的网站托管设置。
即使权限最低的用户(如仅具读取权限的角色)也能通过简单的API调用修改关键设置。
复现步骤
- 获取ExHub上目标项目的项目ID
- 构造POST请求修改目标项目的网站托管配置。示例:
POST /api/v1/projects/deployment_configuration/<projectid> HTTP/2
Host: Exahub.com
Content-Type: application/json
{
"machineType":"t32",
"port":9901,
"dnsAutogen":true,
"authentication":"me"
}
- 使用Burp Suite或任何API测试工具发送请求
- 观察结果——目标项目的网站托管配置在未经适当授权的情况下被修改
- 在UI中验证更改已生效
影响
- 未授权访问关键设置:攻击者可修改部署配置,可能导致服务中断或未授权项目访问
- 服务中断:攻击者引入的错误配置可能使项目无法访问
- 安全违规:仅具读取权限的用户能够执行管理操作,违反最小权限原则
- 权限提升潜在利用:攻击者可能利用修改的配置操纵服务交互方式,为进一步攻击打开大门
奖金与项目方响应
- 报告日期:2024年8月2日
- 分类日期:2024年8月2日
- 严重性调整:关键(9.8)→高(8.8)(基于获取项目ID需要一定权限的假设)
- 奖金授予:1500美元+200美元额外奖励+100美元复测费
- 复测完成:2024年10月15日(确认修复)
ExHub承认该问题的严重性,表示实施适当修复需要重大更改。他们因报告撰写精良而给予我额外奖励,并邀请我进行复测以获得额外100美元,确认修复有效。
关键要点
- API在允许修改关键设置前应始终执行授权检查
- 项目ID不应易于猜测或访问,因为它们可能被用于攻击
- 低权限用户绝不应具备修改管理设置的能力
- 即使后端配置更改也应测试安全漏洞,不当的API验证可能导致严重漏洞
- 优质漏洞报告备受重视——额外奖金表明项目方赞赏详细且结构良好的披露
结论
这是一个典型的IDOR漏洞,由于缺乏适当的授权检查,导致未经授权用户能够修改敏感配置。务必确保每个敏感API端点都正确实施身份验证和授权检查,以防止此类问题。
希望本文能帮助大家在各种系统中识别类似漏洞。下次见,祝黑客愉快!🚀
联系与互动
如果您觉得本文有参考价值,请在评论区分享您的反馈和见解。关注我获取更多网络安全见解和负责任披露故事。
Twitter联系:@a13h1_
感谢您的持续支持。请继续鼓掌、评论和分享您的想法!