SuperAPI AI 工具集

hunt-graphql

安全与审计

查看项目

更新于 10-27 02:31

技能介绍

hunt-graphql 是一个 GraphQL 安全测试技能,资料将其定位为面向 GraphQL 漏洞的“狩猎”技能,仅限教育用途或经授权的安全评估,使用前必须获得系统所有者的明确书面许可。

用途: 用于在获授权测试中识别和验证 GraphQL 接口相关安全问题,重点覆盖授权缺失、跨 API 状态不同步、IDOR、批量滥用与信息泄露等方向。

主要能力与检查点:

  1. 端点发现:通过 JS 打包文件、常见路径(如 /graphql、/api/graphql、/gql 等)、响应特征与抓包历史定位 GraphQL 端点。
  2. Introspection 与字段枚举:测试完整或部分 introspection 查询,利用字段建议错误、Clairvoyance 等工具在 introspection 关闭时枚举字段,并检查 JS 中硬编码查询字符串。
  3. 模式梳理:通过 InQL、graphql-voyager 等可视化 schema 关系,关注涉及所有权、权限、成员关系的 mutation。
  4. 授权边界测试:以不同权限层级令牌重放 mutation,比较 GraphQL 与对应 REST 接口的鉴权一致性。
  5. 跨 API 状态不同步:寻找 REST 与 GraphQL 同时可写同一资源的双写面,测试先 REST 后 GraphQL、先 GraphQL 后 REST 的状态差异,以及角色/成员变更后权限是否持久残留。
  6. IDOR 与批量滥用:测试全局 node ID 跨对象、跨账户替换;测试批量查询数组、别名批量、订阅跨用户频道访问等。
  7. 绕过技术参考:针对 introspection 关闭、深度限制、限流、WAF 拦截 __schema、持久化查询白名单等防护的测试思路。

使用方式: 资料设有强制确认门禁:运行任何探测、利用、更改、持久化、数据提取或凭据访问命令前,需让用户说明确切目标 URL/IP/账户/资源,确认书面授权与允许范围,展示准确命令及预期效果,并在当前对话中获得明确确认;未确认时保持只读并提供防御性建议,优先使用沙箱、一次性虚拟机或受控实验环境。

适用场景: 授权渗透测试、漏洞赏金项目中针对 GraphQL 接口的评估、对 REST 与 GraphQL 共存系统的权限一致性审计,以及 GraphQL 防护措施有效性的验证。

限制与注意: 必须获得书面授权;不得对真实 OTP 进行暴力尝试;并发竞态测试须在所有者批准的低并发与速率下、针对合成资源进行;资料中列举的历史披露案例与影响场景属于示意和待核实的上游线索,需查阅原始报告后再引用;资料未提供收费、价格或平台支持信息,相关事实暂未提供。