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检测, 加密, 安全头审计, 安全报告, 对称加密, 异步编程, 无后门, 漏洞扫描器, 漏洞评估, 爬虫, 网络安全工具, 自动化审计, 蓝队分析, 计算机取证, 调试插件, 逆向工具