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安全, 加密, 异步爬虫, 无后门, 漏洞扫描器, 蓝队分析, 请求拦截, 逆向工具