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漏洞扫描器, 基础设施安全, 无后门, 爬虫, 请求拦截, 逆向工具