HarshaH08/WebAppVulnerabilityScanner
GitHub: HarshaH08/WebAppVulnerabilityScanner
一款异步 Python 编写的 Web 应用漏洞扫描器,针对 OWASP Top 10 攻击类别进行检测,内置误报减少机制并输出带 CVSS v3 评分的结构化报告。
Stars: 0 | Forks: 0
# Web 应用漏洞扫描器
异步 Python 扫描器,针对 OWASP Top 10 攻击类别,专为针对
故意设计的易受攻击应用(DVWA、OWASP Juice Shop)而构建。输出带有
CVSS v3 严重性评分的结构化发现结果,支持 JSON 和 HTML 格式。
## 模块
| 模块 | OWASP ID | 检测方法 |
|--------|----------|-----------------|
| SQLi | A03:2021 | 基于错误 + 布尔盲注(附带误报减少机制) |
| XSS | A03:2021 | 基于 Canary 的反射型 payload 检测 |
| IDOR | A01:2021 | ID 枚举(附带结构性响应差异对比) |
| Auth | A07:2021 | 默认凭据、速率限制、会话熵 |
## 安装说明
```
# 1. 安装 dependencies
pip install -r requirements.txt
# 2. 启动一个 target(任选其一)
docker run -d -p 8080:80 vulnerables/web-dvwa # DVWA
docker run -d -p 3000:3000 bkimminich/juice-shop # Juice Shop
```
## 使用方法
```
# 扫描所有 modules(默认)
python main.py --target http://localhost:8080
# 仅扫描特定 modules
python main.py --target http://localhost:8080 --modules sqli xss
# 更深入的 crawl,自定义 output dir
python main.py --target http://localhost:8080 --depth 4 --output my_reports/
```
报告将以 `.json` 和 `.html` 格式写入 `reports/` 目录。
## 架构
```
web-vuln-scanner/
├── main.py # CLI entry point (argparse)
├── requirements.txt
└── scanner/
├── crawler.py # Async BFS crawler — discovers endpoints & forms
├── models.py # Finding dataclass + CVSS severity mapping
├── reporter.py # JSON + HTML report generation
└── modules/
├── sqli.py # SQL injection (error-based + boolean-blind)
├── xss.py # Reflected XSS (canary-based)
├── idor.py # IDOR (ID enumeration + response diffing)
└── broken_auth.py # Broken auth (default creds, rate limit, session)
```
## 误报减少机制
- **SQLi**:仅匹配特定于数据库的错误字符串(而非通用的 500 错误);布尔盲注要求结构性响应差异大于 10%
- **XSS**:原始 payload 必须出现在响应中——HTML 编码后的反射不会被标记
- **IDOR**:仅当相邻 ID 探测的响应与基线存在结构性差异时才进行标记
- **Auth**:默认凭据成功登录需对照已知的错误基线响应进行确认
## ⚠ 法律声明
仅扫描您拥有或获得明确书面测试授权的应用程序。
DVWA 和 Juice Shop 正是为此目的而设计的。
标签:CISA项目, DOE合作, Python, Web安全, 加密, 异步爬虫, 无后门, 漏洞扫描器, 蓝队分析, 请求拦截, 逆向工具