HoangZuzi-14/Web-Vulnerability-Scanner
GitHub: HoangZuzi-14/Web-Vulnerability-Scanner
一款基于 Python 的异步插件式 Web 漏洞扫描器,专为授权实验室环境下自动化检测 OWASP Top 10 漏洞并生成多格式报告而设计。
Stars: 0 | Forks: 0
# Web 漏洞扫描器
用于授权本地实验室测试的第二阶段核心扫描器。它会抓取一个范围内的 host,
提取 query/form 注入点,运行低风险的 OWASP Top 10:2025 检查,并
生成终端、JSON 或 HTML 报告。
## 第二阶段支持的功能
- 具有范围保护并支持 cookie/session 的异步 HTTP client。
- 带有检测器并发控制的异步调度器。
- 用于同 host 链接和 HTML 表单的 BFS 爬虫。
- 来自 query 参数和表单字段的可注入点。
- A05 SQLi 基于错误和基于布尔的检查。
- 通过 `--enable-time-based-sqli` 启用可选的基于时间的 SQLi 检查。
- A05 反射型 XSS 检测器,具备基本的反射上下文分类。
- A02 安全配置错误检查,涵盖 headers、cookie flags、目录
列表以及 debug/error 信息披露。
- 针对 numeric identifier 参数的 A01 IDOR 启发式检测。
- A10 冗长的 exception/error 泄露轻量级检查。
- SQLite 发现存储,可通过 `--store findings.sqlite` 进行去重。
- JSON、HTML 和终端报告。
- 通过 `--lab dvwa` 提供的 DVWA 实验室助手。
## 安装
PowerShell:
```
python -m venv .venv
.\.venv\Scripts\activate
python -m pip install -e .[dev]
```
## 启动 DVWA
```
docker run --rm -it -p 8080:80 vulnerables/web-dvwa
```
打开 `http://localhost:8080`,如果需要,创建/重置数据库,并保持
容器运行。当使用 `--lab dvwa` 时,扫描器可以自动处理 DVWA 实验室的登录。
## 扫描 DVWA 实验室
推荐的第二阶段命令:
```
webscanner scan http://localhost:8080 `
--scope localhost `
--lab dvwa `
--depth 2 `
--only a05-sqli,a05-xss `
--format json `
--output report.json `
--store findings.sqlite `
--concurrency 5 `
--rate-limit 0
```
`--lab dvwa` 显式启用本地 DVWA 助手。它会获取登录
token,使用已知的 DVWA 实验室凭据登录,设置 `security=low`,禁用
该 session 的 PHPIDS,然后扫描已认证的页面。除非您主动要求,否则不会使用它。
如需更广泛的第二阶段扫描:
```
webscanner scan http://localhost:8080 `
--scope localhost `
--lab dvwa `
--depth 2 `
--only a05-sqli,a05-xss,a02-misconfig,a10-exceptions,a01-idor `
--format html `
--output report.html
```
## 关键安全规则
- 必须提供 `--scope`。
- 阻止向允许 host 之外发送请求。
- 允许的扫描范围仅限于 localhost、loopback、私有实验室 IP 以及
`.local` 实验室 hostname。
- 对重定向目标进行范围检查。
- 爬虫会跳过类似 setup/reset/security/csrf/upload/logout 等看似会修改数据的路径。
- 基于时间的 SQLi 探测默认禁用,需要使用
`--enable-time-based-sqli`。
## 开发
```
python -m pytest -q
python -m ruff check .
python -m black --check .
```
在提交之前,请使用 `python -m black .` 格式化代码。
## 输出
`report.json` 是生成的扫描输出,会被 git 忽略。扫描完成后打开它以检查 `summary` 和 `findings`。
标签:BeEF, CISA项目, DOE合作, OWASP Top 10, Python, Web漏洞扫描器, 基础设施安全, 无后门, 爬虫, 请求拦截, 逆向工具