api漏洞测试-GraphQL自省问题

admin 2024年10月21日09:14:22评论19 views字数 701阅读2分20秒阅读模式

api漏洞测试-GraphQL自省问题

正文

正常情况下的请求:在生产环境中,开发者通常会禁用自省查询功能,只允许有限的、明确授权的查询。例如,用户只被允许查询他们自己账户的信息,无法访问其他用户的信息。

示例(正常请求):

{
  user(handle: "john_doe") {
    id
    name
    email
  }
}


这个请求只会返回授权用户的信息,开发者可以通过权限控制和验证来确保用户不能访问其他用户的数据。

受到攻击后的请求:如果自省查询未被禁用,攻击者可以使用自省查询来获得整个 schema,然后构建出未授权的查询,从而访问敏感数据。

攻击示例:首先,攻击者使用自省查询获取整个 schema 信息

使用下面链接中的payLoad进行查询

https://gist.github.com/craigbeck/b90915d49fda19d5b2b17ead14dcd6da

获得 schema 信息后,攻击者知道了有一个 "team" 节点,即使这个节点已被标记为弃用,攻击者仍然可以通过构建如下的查询来访问:


{
  team(handle: "security") {
    id
    about
    base_bounty
    bug_count
    sla_failed_count
    sla_missed_count
  }
}

通过这种方式,攻击者可以访问本应禁止访问的团队信息,甚至获得未公开的字段,如 "sla_failed_count"。

参考

https://hackerone.com/reports/291531

原文始发于微信公众号(迪哥讲事):api漏洞测试-GraphQL自省问题

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

发表评论

匿名网友 填写信息