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安全, 仪表盘, 字符串匹配, 安全扫描器, 安全测试, 对称加密, 攻击性安全, 无后门, 注入攻击, 网络安全工具, 自动化审计, 蓝队分析, 访问控制, 越权访问, 轻量级, 逆向工具