KJKabangu/vuln-scanner
GitHub: KJKabangu/vuln-scanner
一个基于 Python 的命令行 Web 漏洞扫描器,通过抓取表单并自动注入 payload 来检测反射型 XSS 和 SQL 注入。
Stars: 0 | Forks: 0
# Web 漏洞扫描器
一个基于 Python 的 CLI 工具,用于通过抓取表单并注入测试 payload 来检测 Web 应用程序中的 **Reflected XSS** 和 **Error/Time-based SQL Injection**。
## 功能
- 抓取目标页面上的所有 HTML 表单
- 通过 payload 注入和响应匹配来测试 Reflected XSS
- 通过错误特征检测和基于时间的盲注检测来测试 SQLi
- JSON 报告输出
- 易于扩展的 payload 列表(无需修改代码)
## 安装
```
https://github.com/KJKabangu/vuln-scanner
cd vuln-scanner
pip install -r requirements.txt
```
## 用法
```
# 扫描两种漏洞
python main.py http://localhost/dvwa --all
# 仅 XSS
python main.py http://localhost/dvwa --xss
# 仅 SQLi,自定义报告路径
python main.py http://localhost/dvwa --sqli --output results.json
```
## 安全测试环境
切勿针对真实目标进行测试。请使用以下具有故意漏洞的应用程序:
| 应用程序 | Docker 命令 |
|-----|---------------|
| DVWA | `docker run -p 80:80 vulnerables/web-dvwa` |
| bWAPP | `docker run -p 80:80 raesene/bwapp` |
| WebGoat | `docker run -p 8080:8080 webgoat/webgoat` |
## 工作原理
**XSS**:将 payload 注入到表单字段中,并检查它们是否在响应正文中未经转义地出现 —— 这表明服务器在未进行清理的情况下直接回显了输入。
**SQLi**:注入破坏 SQL 语法的字符(`'`、`"`)以及基于布尔值/时间的 payload,然后检查响应中是否包含数据库错误字符串或异常的响应延迟。
## 局限性
- XSS:仅检测反射型 —— 不检测存储型或基于 DOM 的 XSS
- SQLi:涵盖基于错误的和基于时间的盲注 —— 不检测二阶注入
- 无 WAF 绕过技术
- 单页扫描(暂不支持递归抓取)
## 路线图
- [ ] 带有范围控制的递归站点抓取
- [ ] 通过 Selenium 检测 DOM XSS
- [ ] Header/cookie 注入点
- [ ] 为每个发现进行 CVSS 严重性评分
- [ ] 异步扫描以提升速度# Web 漏洞扫描器
一个基于 Python 的 CLI 工具,用于通过抓取表单并注入测试 payload 来检测 Web 应用程序中的 **Reflected XSS** 和 **Error/Time-based SQL Injection**。
## 功能
- 抓取目标页面上的所有 HTML 表单
- 通过 payload 注入和响应匹配来测试 Reflected XSS
- 通过错误特征检测和基于时间的盲注检测来测试 SQLi
- JSON 报告输出
- 易于扩展的 payload 列表(无需修改代码)
## 安装
```
git clone https://github.com/yourname/vuln-scanner
cd vuln-scanner
pip install -r requirements.txt
```
## 用法
```
# 扫描两种漏洞
python main.py http://localhost/dvwa --all
# 仅 XSS
python main.py http://localhost/dvwa --xss
# 仅 SQLi,自定义报告路径
python main.py http://localhost/dvwa --sqli --output results.json
```
## 安全测试环境
切勿针对真实目标进行测试。请使用以下具有故意漏洞的应用程序:
| 应用程序 | Docker 命令 |
|-----|---------------|
| DVWA | `docker run -p 80:80 vulnerables/web-dvwa` |
| bWAPP | `docker run -p 80:80 raesene/bwapp` |
| WebGoat | `docker run -p 8080:8080 webgoat/webgoat` |
## 工作原理
**XSS**:将 payload 注入到表单字段中,并检查它们是否在响应正文中未经转义地出现 —— 这表明服务器在未进行清理的情况下直接回显了输入。
**SQLi**:注入破坏 SQL 语法的字符(`'`、`"`)以及基于布尔值/时间的 payload,然后检查响应中是否包含数据库错误字符串或异常的响应延迟。
## 局限性
- XSS:仅检测反射型 —— 不检测存储型或基于 DOM 的 XSS
- SQLi:涵盖基于错误的和基于时间的盲注 —— 不检测二阶注入
- 无 WAF 绕过技术
- 单页扫描(暂不支持递归抓取)
## 路线图
- [ ] 带有范围控制的递归站点抓取
- [ ] 通过 Selenium 检测 DOM XSS
- [ ] Header/cookie 注入点
- [ ] 为每个发现进行 CVSS 严重性评分
- [ ] 异步扫描以提升速度
标签:CISA项目, Homebrew安装, Python, SQL注入检测, Web安全, XSS检测, 加密, 文档结构分析, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具