PiousJames/API-Security-toolkit

GitHub: PiousJames/API-Security-toolkit

这是一个基于Python的API安全扫描工具包,用于自动化发现和评估API端点的安全漏洞。

Stars: 0 | Forks: 0

# API 安全扫描器 — 漏洞赏金版 ``` # 扫描任意网站 — 自动发现 API 端点 python api_scanner.py --url https://target.com # 直接 API 端点 — 立即扫描 python api_scanner.py --url https://target.com/api/v1 --token YOUR_TOKEN # 仅绘制攻击面图 python api_scanner.py --url https://target.com --discover-only # 完整扫描,保存所有报告 python api_scanner.py --url https://target.com --full-scan --output my_scan # 针对 VulnAPI(本地练习) python api_scanner.py --url http://localhost:5000 ``` ## 工作原理 ### 若提供基础 URL (例如 https://target.com) 1. **发现** — 探测 40+ 个常见路径以发现 API 端点、GraphQL、Swagger 文档 2. **JS 扫描** — 读取 JavaScript 文件以查找隐藏的 API 路径 3. **Swagger 解析** — 下载并解析 OpenAPI 规范以发现更多端点 4. **扫描** — 对发现的端点运行所有漏洞模块 5. **报告** — 保存 HTML、JSON、CSV、Markdown、SARIF 报告 ### 若提供直接 API URL (例如 https://target.com/api/v1) - 跳过发现阶段,立即扫描 ## 模块 | 模块 | 发现内容 | OWASP | |---|---|---| | `graphql` | 内省、私有字段、批量查询、字段建议 | API3, API8 | | `bola` | 未授权对象访问、顺序 ID、方法篡改、查询参数 IDOR | API1 | | `auth` | 未认证端点、方法覆盖、权限提升 | API2, API5 | | `headers` | CORS 源反射、缺少 HSTS/CSP/XFO、服务器信息泄露 | API8 | | `jwt` | alg:none 绕过、弱密钥、缺少过期时间、缺少声明 | API2 | | `sensitive` | 社会安全号码、信用卡、AWS 密钥、数据库字符串、堆栈跟踪、详细错误 | API3 | | `ratelimit` | 缺少限制、IP 欺骗绕过、高延迟 | API4 | | `fuzz` | SQLi、SSTI、路径遍历、命令注入、开放重定向 | API8 | | `mass-assignment` | 隐藏字段接受、价格/角色操纵 | API3 | ## 所有选项 ``` --url URL Target URL (required) --token TOKEN Bearer token / JWT / API key --module MODULE Run specific module(s) — repeat for multiple --full-scan Run all 9 modules --discover-only Map endpoints only, no vulnerability scanning --no-discover Skip discovery, scan given URL directly --scan-all Scan every discovered endpoint (more thorough, slower) --params PARAMS Query params to fuzz, e.g. q,id,search --requests N Burst size for rate limit testing (default: 30) --timeout N Request timeout seconds (default: 12) --no-ssl-verify Disable SSL certificate verification --output STEM Report filename stem (e.g. my_scan) --format FORMAT html | json | csv | markdown | sarif | all --verbose Show all findings, not just critical/high --threads N Discovery thread count (default: 20) ``` ## 报告格式 | 格式 | 用途 | |---|---| | `.html` | 交互式浏览器报告 — 点击发现项展开详情 | | `.json` | 机器可读 — 导入其他工具 | | `.csv` | Excel / 电子表格跟踪 | | `.md` | Markdown — 粘贴到文档或 GitHub Issues | | `.sarif` | 上传到 GitHub 代码扫描 / 安全选项卡 | ## 针对 VulnAPI 进行练习 ``` # 启动 VulnAPI(终端 2) cd vuln-api python app.py # 扫描它(终端 1) python api_scanner.py --url http://localhost:5000 --full-scan --output vulnapi_report start vulnapi_report.html ``` 预期结果:9+ 个严重级别,10+ 个高危级别发现 ## 要求 - Python 3.9 或更高版本 - 无需其他依赖 — 无需 pip,无需 venv,无需 Docker ## 法律声明 仅限授权安全测试。切勿扫描您不拥有或缺乏书面测试许可的目标。
标签:API安全, API测试, API端点发现, BOLA漏洞, Bug Bounty, DNS枚举, Docker容器, GraphQL安全, GraphQL安全矩阵, JSON输出, JWT安全, OWASP API安全, Web安全, 可自定义解析器, 头部安全, 安全扫描器, 攻击面发现, 敏感数据泄露, 网络安全工具, 蓝队分析, 认证绕过, 逆向工具