doyensec/inql

GitHub: doyensec/inql

一款用于 GraphQL 安全测试的 Burp Suite 扩展,提供 schema 分析、漏洞检测和批量攻击等功能。

Stars: 1737 | Forks: 178

# InQL v6.1.2 - 用于高级 GraphQL 测试的 Burp 扩展 [![Doyensec 研究岛](https://img.shields.io/static/v1?logo=data:image/png;base64,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&link=https://doyensec.com/research.html&message=Research%20Island&&label=Doyensec&color=purple)](https://doyensec.com/research.html) ![GitHub](https://img.shields.io/github/license/doyensec/inql?logo=github&color=darkgreen) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/doyensec/inql?label=latest%20release&logo=github) ![GitHub Release Date](https://img.shields.io/github/release-date/doyensec/inql?display_date=published_at&logo=github) [![dev 分支领先](https://img.shields.io/github/commits-difference/doyensec/inql?base=master&head=dev&label=dev+branch+ahead+by&color=bright&logo=github)](https://github.com/doyensec/inql/tree/dev) [![GitHub 贡献者](https://img.shields.io/github/contributors/doyensec/inql?logo=github&color=black)](AUTHORS) [![GitHub 标签筛选 issue](https://img.shields.io/github/issues/doyensec/inql/Help%20Wanted?color=red&logo=github)](https://github.com/doyensec/inql/issues?q=is%3Aissue+is%3Aopen+label%3A%22Help+Wanted%22) [![GitHub 标签筛选 issue](https://img.shields.io/github/issues/doyensec/inql/Good%20First%20Issue?color=f0a&logo=github)](https://github.com/doyensec/inql/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+First+Issue%22) ## :rocket: 简介 欢迎使用 InQL,一款开源的 GraphQL 测试工具。该工具提供了旨在增强您的 GraphQL 测试体验的功能,使其更加高效和有效。 感谢您对 InQL 的信任。祝您测试愉快! ## :star2: 主要功能 InQL 用户界面包含三个主要组件:*Scanner*(扫描器)、*Batch Queries*(批量查询)和 *Engine Fingerprinting*(引擎指纹识别)选项卡。 ### :mag_right: Scanner(扫描器) ![Scanner](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/654ff47174230347.png) *Scanner* 是 InQL 的核心,您可以在此分析 GraphQL endpoint 或本地 introspection schema 文件。它会自动生成所有可能的 queries、mutations 和 subscriptions,并将它们组织成结构化视图供您分析。 **:white_check_mark: 可自定义扫描** InQL 提供了灵活的扫描自定义选项。您可以调整生成查询的深度或缩进使用的空格数。您还可以执行“兴趣点”扫描,以检测 GraphQL schema 中的潜在漏洞。 **:white_check_mark: 兴趣点分析** 运行兴趣点扫描后,系统会向您展示涵盖各种潜在漏洞的丰富数据集。您可以根据需要启用或禁用这些类别。 **:white_check_mark: 循环引用检测** InQL 实现了循环引用检测。在分析 schema 之后,它会在扫描器结果视图中显示可能存在漏洞的查询。 **:white_check_mark: 与 Burp 的增强交互** InQL 与 Burp 无缝集成,使您能够直接从 Burp 中的任何 GraphQL 请求生成查询。您还可以将自动生成的查询发送到其他 Burp 工具进行进一步分析。 **:white_check_mark: 自定义 Headers** 您可以为每个域设置自定义 headers,域列表会根据观察到的流量自动填充。 ### :crossed_swords: Batch Queries(批量查询) *Batch Queries* 选项卡允许您运行批量 GraphQL 攻击,这对于绕过实施不当的速率限制非常有用。 ### :memo: Burp 原生消息编辑器 Burp 的原生消息编辑器现在增加了一个“GraphQL (InQL)”选项卡,提供了一种查看和修改 GraphQL 请求的高效方式。它还支持 schema 高亮显示以提高可读性。 ### :crossed_swords: GraphiQL 和 GraphQL Voyager InQL 现在实现了 GraphiQL 和 GraphQL Voyager 服务器。您可以将分析后的 schema 发送到其中,以进一步增强分析能力! ### :point_up: Engine Fingerprinting(引擎指纹识别) 此选项卡允许您扫描 GraphQL URL 以检索有关后端服务器技术的信息。 ### :construction: Schema Bruteforcer(Schema 暴力破解) 此扫描器旨在在 introspection 被禁用时重建 schema。它基于 [Clairvoyance CLI 工具](https://github.com/nikitastupin/clairvoyance),使用正则表达式模式匹配来发现 schema 细节。 # :arrow_down: 安装 要成功安装 InQL,请确保满足以下要求: Burp: - 仅支持最新版本的 Burp。 - 兼容“Professional”(专业版)和“Community”(社区版)。 Java: - Montoya API 需要 Java 17 或更高版本。 ## :computer: 从 git 构建 InQL 扩展 1. 安装 Java 17+,例如在基于 Debian 的发行版中: ``` $ sudo apt install -y openjdk-17-jdk $ java --version openjdk 17.0.6 2023-01-17 ``` 2. 安装我们的构建工具 - [Taskfile](https://taskfile.dev): ``` $ # Mac OS & Homebrew: $ brew install go-task $ # Debian $ sudo apt install -y task ``` 2. 克隆仓库并拉取子模块: ``` $ git clone https://github.com/doyensec/inql $ cd inql $ # Optionally, checkout dev branch (might be broken / unstable!) $ git checkout dev ``` 3. 构建 InQL 扩展: ``` $ task all ``` 这应该在仓库的根目录中生成一个名为 `InQL.jar` 或类似的文件。将其作为 Java 扩展加载到 Burp 中。 **开发环境** 如果您想为项目做出贡献,不需要特殊的环境。您只需在每次实施更改后重新构建项目即可。 为了加快代码编写工作,您可能希望在每次进行更改时自动重新构建扩展。只需运行 带有 `--watch` / `-w` 标志的 `kotlin` 任务即可: ``` $ task kotlin -w ``` # :handshake: 贡献 InQL 的繁荣离不开社区的贡献。无论您是开发者、研究人员、设计师还是漏洞猎人,您的专业知识对我们来说都无比珍贵。我们欢迎 bug 报告、反馈和 pull requests。您的参与有助于我们持续改进 InQL,使其成为社区更强大的工具。 互动最好通过 Github issue tracker 进行,但您也可以通过社交媒体 ([@Doyensec](https://twitter.com/Doyensec)) 联系我们。我们期待您的来信! # :busts_in_silhouette: 贡献者 特别感谢我们的贡献者。您的奉献和承诺对于 InQL 的今天至关重要。 当前: - **维护者:** Bartłomiej Górkiewicz [@bartek-doyensec (Github)](https://github.com/bartek-doyensec) - **贡献者:** Savio Sisco [@lokiuox (Github)](https://github.com/lokiuox) 历史: - **作者:** Andrea Brancaleoni [@nJoyneer (Twitter)](https://twitter.com/nJoyneer) / [thypon (Github)](https://github.com/thypon) - **维护者:** Andrew Konstantinov [@execveat (Twitter)](https://twitter.com/execveat) / [@execveat (Mastodon)](https://infosec.exchange/@execveat) - **贡献者:** Matteo Oldani [@matteoldani (Github)](https://github.com/matteoldani) - 其他贡献者列表:[AUTHORS](AUTHORS) 本项目是在 [Doyensec](https://doyensec.com/research.html) 的支持下完成的。 ![Doyensec Research](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/37558ab37b230348.svg)
标签:API安全, Burp Suite, Burp插件, Doyensec, GraphQL, InQL, JSON输出, JS文件枚举, Web安全, 二进制发布, 反取证, 安全测试, 安全评估, 开源工具, 攻击性安全, 蓝队分析