wizardofvoid/website-vulnerability-scanner
GitHub: wizardofvoid/website-vulnerability-scanner
一款轻量级 Web 漏洞扫描器,可对目标 URL 执行五项常见安全错误配置检测并生成可下载的 HTML 报告。
Stars: 0 | Forks: 0
# 轻量级 Web 漏洞扫描器
粘贴一个 URL,点击 **Scan**,即可获取包含五种常见安全错误配置及其严重程度评级的报告。该报告也可以作为独立的 HTML 文件下载。
## 设置
```
pip install -r requirements.txt
python app.py
```
然后打开 。
需要单独运行一个练习靶机。这个仓库自带了一个故意设计带有漏洞的小型应用,专为这个目的而设——不需要 Docker 或 npm:
```
python practice_target/app.py # http://127.0.0.1:8000
```
然后扫描 `http://127.0.0.1:8000`(以及 `http://127.0.0.1:8000/login` 用于基于表单的检查)。关于哪些部分存在漏洞,以及为什么这里不使用常见的靶机(Juice Shop、DVWA),请参阅 `practice_target/README.md`。
## 五项检查
| # | 检查项 | 模块 |
|---|-------|--------|
| 1 | Security headers(CSP、HSTS、X-Frame-Options、X-Content-Type-Options) | `scanner/headers_check.py` |
| 2 | 表单上的 SQL injection | `scanner/sqli_check.py` |
| 3 | 表单上的 Reflected XSS | `scanner/xss_check.py` |
| 4 | Directory listing 泄露 | `scanner/dir_listing_check.py` |
| 5 | headers 中的软件版本信息泄露 | `scanner/version_check.py` |
## 添加或修改检查项
每个模块都暴露一个函数 `run(target_url) -> dict`,返回:
```
{
"name": "Security headers",
"status": "pass" | "fail" | "error",
"severity": "low" | "medium" | "high",
"detail": "what was actually found",
"risk": "one line on why it matters, no jargon",
"fix": "one line on how to fix it",
}
```
在 `scanner/__init__.py` 的 `CHECKS` 中注册它。请将 payload 和签名列表保留为文件顶部的模块级常量,以便于扩展。
单个检查可以自由抛出异常——`run_all_checks` 会捕获每个检查的异常,并记录为 `"error"` 发现结果,这样一个损坏的检查永远不会导致整个扫描失败。
## 测试
```
pip install -r requirements-dev.txt
python -m pytest
```
测试套件(位于 `tests/`)会启动临时的 `http.server` 靶机,并检查在开发过程中实际捕获过 bug 的那些情况:一个对每个路径都返回 200 的 SPA(**不得**将其报告为 directory listing)、一个完全宕机的目标(必须报错,绝不能作为通过)、一个被设置为无效值的安全 header、针对具有转义功能应用的 XSS 误报防范,以及精确版本与纯名称的区别。
## 手动验证
`docs/manual-verification.md` 针对练习靶机手动复现了全部五个发现结果(包括将 SQL injection 实施为有效的身份验证绕过)——这是确认扫描器发现结果是真实的,而非匹配逻辑产生的假象的“渗透测试”步骤。
## 状态
**已完成。** 所有五项检查都会发送真实请求;表单 → 扫描 → 报告 → 下载的流程工作正常;扫描器能在 `practice_target/` 中发现真实漏洞,并能正确报告已转义/安全的应用为无漏洞。已由自动化测试套件(`tests/`)和一份手动验证报告(`docs/manual-verification.md`)覆盖。
标签:CISA项目, DOE合作, Python, SQL注入检测, Web安全, XSS检测, 内存取证对抗, 加密, 多模态安全, 安全规则引擎, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具