abiolaah/web-app-vulnerability-scanner-python

GitHub: abiolaah/web-app-vulnerability-scanner-python

基于 Python 异步架构的轻量级 Web 漏洞扫描器,支持插件化扩展,可检测 SQL 注入、XSS 和缺失安全标头等常见安全问题并输出 JSON 格式报告。

Stars: 0 | Forks: 0

## Web 应用漏洞扫描器 (Python) 本项目是一个异步 Web 应用漏洞扫描器。它会对目标网站进行爬取,并运行一组插件来检测常见问题,例如: - **SQL 注入** - **跨站脚本攻击 (XSS)** - **缺失安全标头** 扫描结果会写入项目根目录下名为 `report.json` 的 JSON 报告文件中。 ### 1. 前置条件 - **Python 3.12**(或兼容的 3.x 版本) - macOS / Linux / WSL(具有类 POSIX shell 的 Windows 环境也可以) ### 2. 设置和安装 克隆或进入项目目录,然后创建并激活虚拟环境: ``` cd web-app-vulnerability-scanner-python python3 -m venv venv source venv/bin/activate # On macOS/Linux # 在 Windows (PowerShell): # .\venv\Scripts\Activate.ps1 ``` 安装依赖: ``` pip install -r requirements.txt ``` ### 3. 运行扫描 在项目根目录下,激活虚拟环境后,运行: ``` python scanner.py ``` 示例: ``` python scanner.py https://example.com python scanner.py http://localhost:3000 ``` ### 4. 理解输出 运行成功后,扫描器会生成一份 JSON 报告: ``` ls # ... 其他文件 ... # report.json cat report.json ``` `report.json` 中的每个条目都描述了一个发现,例如: - **SQL 注入**:易受攻击的参数和使用的 payload。 - **XSS**:反射型 payload 和易受攻击的参数。 - **缺失安全标头**:响应中不存在的标头。 你可以将 `report.json` 加载到其他工具或脚本中,以进一步处理或可视化结果。 ### 5. 项目结构 - `scanner.py` – 协调爬取和漏洞检查的主入口。 - `crawler.py` – 用于发现内部链接的简单异步爬虫。 - `requester.py` – 支持重试和基本随机 User-Agent 的异步 HTTP 请求器。 - `vulnerabilities/` – 单独的漏洞插件: - `sqli.py` – SQL 注入检查 - `xss.py` – 跨站脚本攻击 (XSS) 检查 - `headers.py` – 缺失安全标头检查 - `report/reporter.py` – 生成 `report.json` 的逻辑。 ### 6. 开发提示 - 在开发过程中保持虚拟环境处于激活状态: source venv/bin/activate - 要添加新插件,请在 `vulnerabilities/` 中创建一个扩展 `VulnerabilityCheck` 的新文件,并将其实例添加到 `scanner.py` 的 `plugins` 列表中。
标签:AES-256, BeEF, CISA项目, DNS枚举, DOE合作, HTTP请求, Linux取证, Python, SQL注入检测, Web安全, XSS检测, 加密, 安全头审计, 安全报告, 对称加密, 异步编程, 无后门, 漏洞扫描器, 漏洞评估, 爬虫, 网络安全工具, 自动化审计, 蓝队分析, 计算机取证, 调试插件, 逆向工具