InQL Scanner:GraphQL安全测试利器
该工具利用GraphQL内置的内省查询功能,自动提取查询(queries)、变更(mutations)、订阅(subscriptions)、字段(fields)、参数(arguments)以及默认和自定义对象的信息。InQL还能为所有已知类型生成查询模板,并能识别基础查询类型并用占位符替换,使查询模板可直接用于远程API端点测试。最新版本强化了模板生成功能,并与Burp Suite深度集成,显著降
·
InQL Scanner现已开源!
作为我们持续安全研究的一部分,我们开发了这款内部工具来加速GraphQL安全测试工作。现在InQL已在Github上公开可用。
InQL可作为独立脚本或Burp Suite扩展(支持专业版和社区版)使用。该工具利用GraphQL内置的内省查询功能,自动提取查询(queries)、变更(mutations)、订阅(subscriptions)、字段(fields)、参数(arguments)以及默认和自定义对象的信息。这些数据会被处理生成HTML和JSON格式的API文档。InQL还能为所有已知类型生成查询模板,并能识别基础查询类型并用占位符替换,使查询模板可直接用于远程API端点测试。
Burp Suite扩展功能
通过InQL的Burp扩展,您可以:
- 搜索已知GraphQL URL路径
- 检测暴露的GraphQL开发控制台(如GraphiQL、GraphQL Playground等)
- 在包含GraphQL的HTTP请求/响应中显示专属标签页
- 将生成的查询模板发送至Burp Repeater工具
- 通过设置标签页进行个性化配置
安装指南
- 下载最新版Jython Jar
- 获取InQL最新版本
- 启动Burp Suite
- 在Extender > Options中设置Jython环境路径
- 添加Python扩展并选择inql_burp.py文件
命令行版本
通过pip即可安装CLI工具:
pip install inql
主要参数说明:
usage: inql [-h] [-t TARGET] [-f SCHEMA_JSON_FILE] [-k KEY] [-p PROXY]
[--header HEADERS HEADERS] [-d] [--generate-html]
[--generate-schema] [--generate-queries] [--insecure]
[-o OUTPUT_DIRECTORY]
技术演进
自2018年我们首次发布GraphQL安全研究以来,该工具经过多次迭代升级。最新版本强化了模板生成功能,并与Burp Suite深度集成,显著降低了GraphQL技术栈的安全研究门槛。未来我们将持续改进检测能力,并计划将其纳入Burp的BApp商店。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码
更多推荐
所有评论(0)