raeewaykole-rw/web-vulnerability-scanner
GitHub: raeewaykole-rw/web-vulnerability-scanner
这是一个极简的 Python Web 漏洞扫描工具,旨在通过注入 Payload 检测 SQL 注入、XSS 及安全头缺失等常见风险。
Stars: 0 | Forks: 0
# Web 应用程序漏洞扫描器
一个用于扫描网页常见问题的极简 Python 工具:
- **SQL 注入**(简单的反射型 payload + 错误字符串检测)
- **反射型 XSS**(将 payload 注入到查询参数中并检查输出)
- **缺失的安全头**(基本的安全头存在性检查)
## ✅ 要求
- Python 3.8+
- (可选但推荐)安装依赖项以获得更好的扫描支持:
```
pip install -r requirements.txt
```
该扫描器仅使用标准库即可工作,但安装依赖项将启用更好的表单解析和 HTTP 处理(requests + BeautifulSoup)。
## ▶️ 用法
```
python scanner.py https://example.com/?id=1
```
### 示例
```
# 快速扫描(低超时/重试)
python scanner.py --profile fast https://example.com/?id=1
# 深度扫描(更高超时/重试 + 扫描所有参数)
python scanner.py --profile deep https://example.com/?id=1&foo=bar
# 输出 JSON 报告
python scanner.py --report-format json --report-file report.json https://example.com/?id=1
# 生成带有可下载 JSON/PDF 附件的 HTML 落地报告
python scanner.py --report-format landing --report-file report.html https://example.com/?id=1
# 生成 PDF 报告
python scanner.py --report-format pdf --report-file report.pdf https://example.com/?id=1
```
### 可选标志
- `--dry-run`:打印将要测试的 payload/URL,而不发起任何网络请求。
- `--all-params`:对每个查询参数测试 payload(而不是仅测试第一个)。
- `--profile `:使用扫描配置文件,为超时/重试/all-params 设置合理的默认值。
- `--report-file `:除了打印到 stdout 之外,还将报告保存到文件。
- `--report-format `:选择输出格式。
- `--timeout `:每个请求的超时时间(覆盖配置文件设置)。
- `--retries `:将失败的请求重试最多指定次数(覆盖配置文件设置)。
- `--insecure`:禁用 SSL 证书验证(适用于自签名证书)。
## 🔍 工作原理
- `sql_scanner.py`:尝试针对查询参数和 HTML 表单字段使用多种 SQL 注入 payload,然后扫描响应中是否存在常见的 SQL 错误模式。
- `xss_scanner.py`:尝试针对查询参数和 HTML 表单字段使用几种常见的反射型 XSS payload,然后检查它们是否在响应中被反射出来。
- `headers_scanner.py`:获取响应头并检查是否存在常见的安全头。
## 🧪 输出
扫描器会在控制台打印摘要,其中包含关于 SQL 注入、XSS 和缺失安全头的任何发现。
标签:AppImage, Burp Suite, CISA项目, DOE合作, IP 地址批量处理, Python, Splunk, Web安全, Web应用防火墙, XSS, 字符串匹配, 安全header检查, 无后门, 漏洞情报, 网络安全, 自动化分析, 蓝队分析, 跨站脚本, 逆向工具, 隐私保护