从JS代码审计到GraphQL利用的管理账户接管

admin 2024年12月5日16:59:22评论10 views字数 678阅读2分15秒阅读模式

 

 

通过前期信息收集,发现一处登录页面:

从JS代码审计到GraphQL利用的管理账户接管

只有登录,没有注册、忘记密码等入口。

那就试着对端点进行Fuzz看看:

从JS代码审计到GraphQL利用的管理账户接管

然后将登录请求替换为注册看看:

从JS代码审计到GraphQL利用的管理账户接管

失败。

查看Wappalyzer插件会有什么启示:

从JS代码审计到GraphQL利用的管理账户接管

有 GraphQL、React、Next.JS,要知道GraphQL通常很容易受到逻辑漏洞攻击,但发现这些漏洞并不容易,往往需要 JavaScript 的动态调试:

从JS代码审计到GraphQL利用的管理账户接管

在控制台仔细查看后,可以看到认证过程中的 GraphQL 错误,React 与后端之间也是照常进行交互。

那么只能尝试从 JavaScript 文件中“翻翻”了。使用user 关键词进行搜索:

从JS代码审计到GraphQL利用的管理账户接管

找到6个JS文件,尝试使用login关键词进行搜索:

从JS代码审计到GraphQL利用的管理账户接管

发现 2 个 mentula 文件:

next/static/chunks/pages/users-b48829712ecbd6a6.js

使用 JS Beutify 插件查看:

从JS代码审计到GraphQL利用的管理账户接管

对代码进行反混淆后,再提交给 ChatGPT 进行审查,然后编写所有可能的 GraphQL 变更和操作:

从JS代码审计到GraphQL利用的管理账户接管

从JS代码审计到GraphQL利用的管理账户接管

再次将尝试添加用户并测试:

从JS代码审计到GraphQL利用的管理账户接管

通过报错信息,发现是由于用户角色为 ADMIN 而非 Administrator:

从JS代码审计到GraphQL利用的管理账户接管

将角色修改为Administrator,再次测试:

从JS代码审计到GraphQL利用的管理账户接管

Nice!成功添加管理员账户,登录管理面板:

从JS代码审计到GraphQL利用的管理账户接管

你学到了么?

以上内容由骨哥翻译并再创作。

原文:https://medium.com/@0xbugatti/js-review-and-abuse-graphql-result-10xbac-admin-panel-ato-0f013fe471ea

 

原文始发于微信公众号(骨哥说事):从JS代码审计到GraphQL利用的管理账户接管

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

发表评论

匿名网友 填写信息