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, 无后门, 暴力破解, 逆向工具