Prajwol6/ApiHawk

GitHub: Prajwol6/ApiHawk

异步 API 侦察与漏洞扫描工具,通过端点探测和 JS 抓取快速发现 REST/GraphQL 接口中的安全风险。

Stars: 0 | Forks: 0

# APIHawk 🦅 ## 功能简介 APIHawk 自动化了 REST API 和 GraphQL 端点的侦察与漏洞发现阶段。无需再使用 Burp Suite 手动探测每个路径,或苦苦等待 gobuster 运行结束,APIHawk 利用异步请求在几秒内即可探测数百个端点 —— 它还通过抓取 JS bundles 进行更深入的挖掘,从而发现其他扫描器遗漏的后端 URL 和敏感信息。 ## 功能特性 - **JS Scraper** — 获取目标的所有 JS bundles,提取 API 端点、后端 URL,并扫描硬编码的敏感信息(API keys、tokens、AWS keys、DB URIs) - **SPA 误报过滤器** — 对全包揽的 200 响应(常见于 React/Vue/Angular 应用)进行指纹识别,并自动过滤虚假结果 - **异步端点 Fuzzing** — 并发探测 100+ 个常见的 API 和 GraphQL 路径 - **POST 模式探测** — 使用 POST 请求重试响应为 405 的端点,以捕获认证和数据端点 - **GraphQL 检测** — 检测是否开启自省、以及详细的错误信息泄露 - **CORS 错误配置检测** — 捕获通配符 CORS 和允许携带凭证的反射来源 - **安全响应头审计** — 检查缺失的 `X-Content-Type-Options`、`X-Frame-Options`、`HSTS` - **技术指纹识别** — 从响应头和 cookies 中检测 server、framework、CDN、WAF、runtime - **WAF 规避模式** — 轮换 user agents,随机化 headers,对请求添加延迟抖动,并探测 URL 编码的路径变体 ## 安装 ``` git clone https://github.com/Prajwol6/ApiHawk.git cd ApiHawk pip install aiohttp brotli --break-system-packages ``` ## 使用方法 ``` # 基本扫描 python Apihawk.py -u https://target.com # 带详细输出的完整扫描 python Apihawk.py -u https://target.com -v # 仅 JS scraper(快速侦察 — 查找后端 URL) python Apihawk.py -u https://target.com --js-only # WAF evasion 模式 python Apihawk.py -u https://target.com --waf-evasion # 为慢速服务器设置更高的 timeout python Apihawk.py -u https://target.com -t 30 # 组合所有选项 python Apihawk.py -u https://target.com -t 30 -c 100 --waf-evasion -v ``` ## 命令行参数 | 参数 | 描述 | |------|-------------| | `-u` | 目标 URL(必填) | | `-t` | 请求超时时间(单位:秒,默认:8) | | `-c` | 并发 workers 数量(默认:50) | | `-v` | 详细输出 — 显示 404、超时、被 SPA 过滤的结果 | | `--js-only` | 仅运行 JS scraper,跳过端点 fuzzing | | `--waf-evasion` | 启用 WAF 规避技术 | ## 输出示例 ``` APIHawk | API & GraphQL Vulnerability Scanner For authorized targets only [*] Phase 0: Scraping JS files for endpoints and secrets... [*] Found 2 JS file(s) [*] Scraping https://target.com/static/js/main.4f28f604.js (169KB) [+] External URLs found (possible backends): https://api.target-backend.onrender.com/api/analyze [+] No hardcoded secrets detected in JS files [!] SPA catch-all detected (size=385 bytes, hash=f1aedd97) [!] Responses matching this fingerprint will be marked as false positives [*] Phase 1: Discovering API endpoints (102 paths)... [+] [200] https://api.target-backend.onrender.com/api/v1 (1243 bytes) [!] [401] https://api.target-backend.onrender.com/api/admin (Auth required — endpoint exists) [*] Phase 4: Fingerprinting target + checking CORS / security headers... [+] Target fingerprint: Server : cloudflare Framework : Express CDN/WAF : Cloudflare Runtime : Node.js [VULN] CORS Misconfiguration URL : https://api.target-backend.onrender.com/api/v1 Severity : HIGH Impact : Cross-origin credential theft possible ``` ## 发现内容 | 漏洞 | 严重程度 | |---------------|----------| | 开启了 GraphQL 自省 | HIGH | | CORS 错误配置 | HIGH | | JS 中的硬编码敏感信息 | HIGH | | GraphQL 详细错误信息 | MEDIUM | | 缺少安全响应头 | LOW | ## 法律免责声明 **请仅在您拥有或已获得明确书面授权的目标上使用 APIHawk。** 未经授权的扫描是违法的。本工具仅适用于: - 您自己的应用程序 - 经授权的渗透测试项目 - 允许自动化扫描的漏洞赏金计划 作者对本工具的任何滥用行为不承担责任。
标签:API安全测试, CISA项目, CORS配置错误检测, GraphQL安全, HTTP指纹识别, JavaScript爬取, Python安全工具, REST API安全, WAF绕过, 代码生成, 信息泄露检测, 单页应用安全测试, 大数据, 实时处理, 密码管理, 异步并发扫描, 报错信息泄露, 渗透测试工具, 灰帽黑客工具, 目录扫描, 硬编码密钥扫描, 网络安全扫描器, 自动化漏洞扫描, 逆向工具, 黑盒测试