正文
在收集目标范围后,我发现了一个用于管理的控制台界面,但没有注册功能:
2、在请求中将登录替换为注册 -> 再次失败
为了创建用户,我开始在 JavaScript 控制台中详细检查。
为了缩小范围,我改用关键词 login 进行搜索,最终发现了 2 个关键文件:
对于next/static/chunks/pages/users-b48829712ecbd6a6.js,我用 JS Beautify 扩展对代码进行格式化和反混淆,再通过 ChatGPT 审查代码。
通过代码分析,我构建了所有所需的 GraphQL 操作,但决定避免删除和更新操作,以免对业务造成影响:
我尝试添加自己的用户并进行测试,但是回显失败:
后面我才发现用户角色被我错误地设置为 ADMIN:
我将角色修改为:
"role"
:
"ADMINISTRATION"
再使用新用户访问管理面板:
在管理面板中,我发现了许多授权控制缺失的漏洞,包括:
1、删除授权令牌即可返回 200 OK
2、能够越权执行删除、更新、创建和查看操作:USER、ORDER、STORE
原文始发于微信公众号(玲珑安全):JS Review+GraphQL滥用实现管理面板访问
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论