phor3nsic/graphqlBrute

GitHub: phor3nsic/graphqlBrute

一个利用 GraphQL 拼写建议机制暴力枚举隐藏字段的安全测试脚本,解决 introspection 被禁用后无法枚举 API 接口的问题。

Stars: 7 | Forks: 2


### 此 Python 脚本旨在探索和识别在禁用了 introspection 但启用了“did you mean…”建议功能的 GraphQL API 中的函数。当提交了包含错误名称的查询时,“did you mean…”功能会建议可能的函数名称,这是 GraphQL API 中常见的特性。 #### 核心功能: 1. 测试查询提交:向 API 发送带有略微修改或错误函数名称的 GraphQL 查询。 2. 响应分析:分析 API 响应,以检测由“did you mean…”功能提供的建议。 3. 有效函数记录:根据 API 的建议,存储所发现的正确函数名称。 4. 自动化与高效性:利用暴力破解技术在合理的时间内覆盖大量可能的变体,从而最大化发现 API 中有效函数的几率。 #### 优势: • 隐藏函数发现:对于旨在揭露 GraphQL API 中未记录或受保护函数的渗透测试人员和安全研究人员非常有用。 • 自动化:减少了测试和验证函数名称所需的手动工作量。 • 通用性:只需进行少量的配置调整,即可适配不同的 GraphQL API。 ### 安装说明 - 通过 pipx: ``` pipx install git+https://github.com/phor3nsic/graphqlBrute ``` - 通过 pip: ``` pip install git+https://github.com/phor3nsic/graphqlBrute ``` ### 运行方式 ``` graphqlBrute -u http://target/graphql ``` ### 安全注意事项: • 道德使用:此脚本仅应在获得 API 所有者适当授权的情况下,用于符合道德规范的安全测试。 • 性能:请调整查询提交速率,以避免使目标服务器过载。
标签:API安全, Blue Team, GraphQL, JSON输出, PoC, Python, 无后门, 暴力破解, 逆向工具