akarshdiwakar123/Api-security-scanner
GitHub: akarshdiwakar123/Api-security-scanner
一个基于 Python 的轻量级 API 安全扫描器,提供 CLI 和可视化仪表板,用于检测 BOLA、CORS 错误配置及注入等常见漏洞。
Stars: 0 | Forks: 0
# 🔐 API 安全扫描器
一个轻量级的 **API 安全测试工具**,使用 Python 构建,有助于检测常见的 API 漏洞,例如 **BOLA、CORS 错误配置、注入问题以及缺失速率限制**。
该工具提供:
- 🖥 **CLI(终端)扫描器**
- 🌐 **交互式 Streamlit 仪表板**
它专为 **学习 API 安全测试和基础漏洞检测** 而设计。
# 🚀 功能特性
✔ 断层对象级授权 检测
✔ CORS 错误配置检测
✔ 注入测试(基础 payload)
✔ 缺失速率限制检测
✔ JWT Token 支持(可选)
✔ 基于 CLI 的扫描
✔ 赛博朋克风格的 Streamlit 仪表板
✔ 结构化漏洞报告
# 🛠 使用的技术
- **Python**
- **Requests**
- **Streamlit**
- **JWT (PyJWT)**
- **Matplotlib**
- **Regex**
- **用于响应比对的哈希计算**
# 📂 项目结构
```
Api-security-scanner/
│
├── scanner/
│ ├── tests/
│ │ ├── bola.py
│ │ ├── cors.py
│ │ ├── injection.py
│ │ └── rate_limit.py
│ │
│ ├── http_client.py
│ └── report.py
│
├── app.py # Streamlit dashboard
├── main.py # CLI scanner
├── requirements.txt
└── README.md
```
# ⚙ 安装说明
### 1️⃣ 克隆仓库
```
git clone https://github.com/YOUR_USERNAME/Api-security-scanner.git
```
### 2️⃣ 进入项目文件夹
```
cd Api-security-scanner
```
### 3️⃣ 安装依赖
```
pip install -r requirements.txt
```
# ▶ 运行扫描器
## 🖥 运行 CLI 版本
```
python main.py --url https://example.com --endpoint /api/v1/users/1
```
使用 Token:
```
python main.py --url https://example.com --endpoint /api/v1/users/1 --token YOUR_TOKEN
```
## 🌐 运行仪表板版本
```
streamlit run app.py
```
然后打开:
```
http://localhost:8501
```
# 🔍 检测到的漏洞
### 1️⃣ 断层对象级授权 (BOLA)
扫描器修改端点中的对象 ID,并检查是否可能进行未经授权的访问。
示例:
```
/api/users/1
/api/users/2
```
如果两者都返回有效响应,则会标记潜在的 **BOLA 漏洞**。
### 2️⃣ CORS 错误配置
检查是否存在危险配置,例如:
```
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
```
### 3️⃣ 注入测试
使用常见的 payload 测试端点,例如:
```
' OR '1'='1
```
### 4️⃣ 缺失速率限制
发送突发请求以检测 API 是否强制执行速率限制。
如果没有检测到 `429 Too Many Requests` 响应,则会生成警告。
# ⚠ 免责声明
此工具仅用于 **教育和授权的安全测试目的**。
请 **不要** 在未经许可的情况下扫描系统。
# 📸 示例
示例扫描:
```
python main.py --url https://jsonplaceholder.typicode.com --endpoint /posts/1
```
输出:
```
Scanning endpoint...
No vulnerabilities detected.
```
# 🧠 未来改进
- GraphQL 安全测试
- JWT 权限提升检测
- API 端点发现
- OpenAPI/Swagger 集成
- 自动化报告 (PDF/HTML)
- 高级 payload 模糊测试
# 👨💻 作者
由 akarsh diwakar 开发
GitHub:
https://github.com/akarshdiwakar123
# ⭐ 如果您喜欢这个项目
在 GitHub 上给它一个 **star ⭐** 以支持该项目。
标签:API安全, BOLA, CISA项目, CORS跨域, DNS枚举, GraphQL安全矩阵, IDOR, JSON输出, JWT认证, Kubernetes, LangChain, Python, Streamlit, Web安全, 仪表盘, 字符串匹配, 安全扫描器, 安全测试, 对称加密, 攻击性安全, 无后门, 注入攻击, 网络安全工具, 自动化审计, 蓝队分析, 访问控制, 越权访问, 轻量级, 逆向工具