JS Review+GraphQL滥用实现管理面板访问

admin 2025年1月4日19:55:25评论8 views字数 729阅读2分25秒阅读模式

在收集目标范围后,我发现了一个用于管理的控制台界面,但没有注册功能:

JS Review+GraphQL滥用实现管理面板访问

于是我开始尝试:1、模糊测试注册端点 -> 失败

JS Review+GraphQL滥用实现管理面板访问

2、在请求中将登录替换为注册 -> 再次失败

JS Review+GraphQL滥用实现管理面板访问

尝试均未奏效后,我决定冷静下来,重新思考方法并利用技术手段。

我观察到目标使用了 GraphQL、React 和 Node.js。这种技术栈往往容易受到逻辑漏洞的影响,但需要一些 JavaScript 深入挖掘。

JS Review+GraphQL滥用实现管理面板访问

为了创建用户,我开始在 JavaScript 控制台中详细检查。

JS Review+GraphQL滥用实现管理面板访问

如上图,在验证流程中,我注意到 GraphQL 错误并发现 React 前端和后端之间的交互模式。我决定寻找包含所需功能的重要 JavaScript 文件,使用关键词 user 搜索。

结果找到了 6 个 JavaScript 文件:

JS Review+GraphQL滥用实现管理面板访问

为了缩小范围,我改用关键词 login 进行搜索,最终发现了 2 个关键文件:

JS Review+GraphQL滥用实现管理面板访问

对于next/static/chunks/pages/users-b48829712ecbd6a6.js,我用 JS Beautify 扩展对代码进行格式化和反混淆,再通过 ChatGPT 审查代码。

JS Review+GraphQL滥用实现管理面板访问

JS Review+GraphQL滥用实现管理面板访问

通过代码分析,我构建了所有所需的 GraphQL 操作,但决定避免删除和更新操作,以免对业务造成影响:

JS Review+GraphQL滥用实现管理面板访问

我尝试添加自己的用户并进行测试,但是回显失败:

JS Review+GraphQL滥用实现管理面板访问

后面我才发现用户角色被我错误地设置为 ADMIN:

JS Review+GraphQL滥用实现管理面板访问

我将角色修改为:

"role": "ADMINISTRATION"
然后重新发送请求,如图,我成功添加了一个用户:

JS Review+GraphQL滥用实现管理面板访问

再使用新用户访问管理面板:

JS Review+GraphQL滥用实现管理面板访问

在管理面板中,我发现了许多授权控制缺失的漏洞,包括:
1、删除授权令牌即可返回 200 OK
2、能够越权执行删除、更新、创建和查看操作:USER、ORDER、STORE

JS Review+GraphQL滥用实现管理面板访问

原文始发于微信公众号(玲珑安全):JS Review+GraphQL滥用实现管理面板访问

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

发表评论

匿名网友 填写信息