LorennaCunha/openapi-enum
GitHub: LorennaCunha/openapi-enum
一个从 OpenAPI/Swagger 规范提取端点并探测存活路由的 API 侦察工具。
Stars: 0 | Forks: 0
# openapi-enum
一个用于 **API 侦察** 的 Python 工具,它解析 OpenAPI/Swagger 规范,提取端点,生成可进行 Fuzz 的 URL,并使用 **httpx** 探测它们以识别存活路由。
## 功能
- 支持 **OpenAPI v2 和 v3**
- 解析 **JSON 和 YAML**
- 接受 **本地文件或 URL**
- 使用 Fuzz 值替换参数(`{id}`, `{userId}`)
- 生成端点列表:
- `GET`
- `POST`
- `ALL`
- 使用 **httpx** 探测端点以查找 **HTTP 200**
- 自定义 Fuzz 值和输出目录
## 安装
克隆仓库:
```
git clone https://github.com/yourusername/openapi-enum.git
cd openapi-enum
```
安装依赖:
```
pip install -r requirements.txt
```
安装 **httpx**:
```
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
```
确保其在你的 PATH 中。
## 用法
本地规范文件:
```
python3 openapi_enum.py -i openapi.json
```
远程规范文件:
```
python3 openapi_enum.py -u https://api.example.com/openapi.json
```
自定义 Fuzz 值:
```
python3 openapi_enum.py -i openapi.json --fuzz-value TEST
```
自定义输出目录:
```
python3 openapi_enum.py -i openapi.json -o results
```
## 输出
脚本生成:
```
endpoints_all.txt
endpoints_get.txt
endpoints_post.txt
httpx_alive.txt
```
示例:
```
https://api.example.com/users
https://api.example.com/users/FUZZ
https://api.example.com/auth/login
```
## 项目结构
```
openapi-enum/
├── openapi_enum.py
├── README.md
├── requirements.txt
```
## 免责声明
仅供 **授权安全测试** 使用。
## 许可证
MIT
标签:API 安全, API 接口, API 渗透测试, Fuzzing, GitHub, httpx, HTTP 探测, OpenAPI, Python, Swagger, 主机安全, 密码管理, 对称加密, 无后门, 端点枚举, 网络安全, 自动化审计, 路径发现, 运行时操纵, 逆向工具, 隐私保护