nejarmedhat27-pixel/Web-Vulnerability-Scanner
GitHub: nejarmedhat27-pixel/Web-Vulnerability-Scanner
一款专为 DVWA 及本地实验靶场设计的 Python 自动化 Web 漏洞扫描器,支持多类型漏洞检测并生成专业报告。
Stars: 0 | Forks: 0
# Web 漏洞扫描器
针对 DVWA 和本地实验应用的自动化 Python Web 漏洞扫描器。爬取所有页面 · 检测 XSS、SQL 注入、命令注入、LFI 和开放重定向 · 检查 7 个安全 Header · BFS 爬虫 · 误报确认 · 自动生成带颜色标记的 HTML 报告 + 扫描日志。
# 🔐 WebVulnScan — Web 漏洞扫描器





## 📸 概览
**WebVulnScan** 是一个综合性的安全测试工具,专为针对 **DVWA** 和自定义本地实验目标的教育用途而构建。它会自动爬取所有页面,注入攻击 payload,分析 HTTP 响应,并生成专业的严重性评级 HTML 漏洞报告——所有这些都通过单个 Python 脚本完成。
## ⚡ 漏洞覆盖范围
| 漏洞 | 检测方法 | 严重性 |
|---|---|---|
| 🔴 **反射型 XSS** | 在表单和 URL 参数中注入 Payload | 高 |
| 🔴 **SQL 注入** | 通过 SQL 错误字符串进行基于错误的检测 | 严重 |
| 🔴 **命令注入** | OS 命令输出指示符 | 严重 |
| 🟠 **本地文件包含 (LFI)** | 路径遍历 + 文件内容指示符 | 高 |
| 🟡 **开放重定向** | HTTP 3xx Location Header 分析 | 中 |
| 🔵 **缺失的安全 Header** | CSP · HSTS · X-Frame-Options 等 | 低–中 |
## 🚀 快速开始
### 前置条件
```
pip install requests beautifulsoup4
```
- Python **3.8+**
- 在本地运行于 `http://localhost/dvwa/` 的 DVWA
→ [如何设置 DVWA](https://github.com/digininja/DVWA)
### 运行扫描器
```
git clone https://github.com/yourname/webvulnscan.git
cd webvulnscan
python scanner.py
```
### 配置(位于 `scanner.py` 顶部)
```
DVWA_URL = "http://localhost/dvwa/" # Target URL
USERNAME = "admin" # DVWA login
PASSWORD = "password" # DVWA password
MAX_PAGES = 50 # Max pages to crawl
```
## 🗺️ 工作原理
### 步骤 1 — 认证
使用 Session cookie 和通过 BeautifulSoup 提取的 CSRF token 自动登录 DVWA。
### 步骤 2 — 爬取
BFS 风格的 Web 爬虫会爬取最多至 `MAX_PAGES` 限制的所有内部页面,收集每一个 URL 和 HTML 表单。
### 步骤 3 — 注入与分析
对于每个页面,扫描器会同时运行所有 6 个攻击模块——将 payload 注入到 URL 参数、表单字段和重定向参数中,然后分析 HTTP 响应以查找漏洞指示符。
### 步骤 4 — 确认
通过二次确认请求重新测试每个潜在发现,以在生成报告前消除误报。
### 步骤 5 — 报告
生成两个输出文件:
- **`scan_report_.html`** — 带有严重性徽章的完整彩色 HTML 报告
- **`scan_log_.txt`** — 记录每个扫描页面和发现的详细纯文本日志
## 📋 攻击 Payload
**XSS (7 个 payload)**
```
">
'>
标签:CISA项目, DOE合作, Python, Web安全, 加密, 字符串匹配, 安全测试, 攻击性安全, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具