SantiagoP0815/vuln-scanner
GitHub: SantiagoP0815/vuln-scanner
一款用于自动检测 OWASP Top 10 Web 漏洞的 Python CLI 工具,支持模块化扫描与 JSON 报告输出。
Stars: 0 | Forks: 0
# VulnScanner
用于自动检测 **OWASP Top 10** Web 漏洞的 Python CLI 工具。专为教育目的和授权的安全测试而设计。
```
██╗ ██╗██╗ ██╗██╗ ███╗ ██╗
██║ ██║██║ ██║██║ ████╗ ██║
██║ ██║██║ ██║██║ ██╔██╗ ██║
╚██╗ ██╔╝██║ ██║██║ ██║╚██╗██║
╚████╔╝ ╚██████╔╝███████╗██║ ╚████║
╚═══╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝
```
## 检测模块
| 模块 | 漏洞 | 严重程度 |
|--------|---------------|-----------|
| `headers` | 缺失的安全标头 (HSTS, CSP, X-Frame-Options...) | HIGH / MEDIUM / LOW |
| `xss` | URL 参数和表单中的反射型 Cross-Site Scripting | HIGH |
| `sqli` | URL 参数和表单中的错误型 SQL Injection | HIGH |
| `redirect` | 重定向参数中的 Open Redirect | MEDIUM |
| `dirlisting` | Directory Listing、敏感路径及暴露的文件 (`.env`, `.git`) | HIGH / MEDIUM |
## 安装
```
git clone https://github.com/SantiagoP0815/vuln-scanner.git
cd vuln-scanner
python3 -m venv venv
source venv/bin/activate # Linux / macOS
# venv\Scripts\activate # Windows
pip install -r requirements.txt
```
## 用法
```
# 带 JSON 报告的完整扫描
python3 scanner.py -u https://objetivo.com -o reporte.json
# 仅特定模块
python3 scanner.py -u https://objetivo.com -m headers,xss,sqli
# 查看帮助
python3 scanner.py --help
```
### 选项
| 参数 | 描述 |
|-----------|-------------|
| `-u`, `--url` | 目标 URL |
| `-m`, `--modules` | 要执行的模块,以逗号分隔 (默认: `all`) |
| `-o`, `--output` | JSON 报告的输出路径 |
## 输出示例
```
Target : https://example.com
[*] Cabeceras de Seguridad
[HIGH] Falta: Strict-Transport-Security
HSTS ausente — sin protección contra downgrade a HTTP
[HIGH] Falta: Content-Security-Policy
CSP ausente — mayor riesgo de XSS
[MEDIUM] Falta: X-Frame-Options
X-Frame-Options ausente — vulnerable a Clickjacking
[LOW] Header informativo expuesto: Server
Valor: nginx/1.18.0 — revela tecnología del servidor
[*] XSS Reflejado
[HIGH] XSS Reflejado en parámetro: search
Payload reflejado:
──────────────────────────────────────────────────
RESUMEN — https://example.com
──────────────────────────────────────────────────
HIGH 3
MEDIUM 1
LOW 2
INFO 0
Tiempo : 4s | Hallazgos: 6
──────────────────────────────────────────────────
```
## 推荐的实践环境
以合法且安全的方式测试该工具:
- **[DVWA](https://github.com/digininja/DVWA)** — Damn Vulnerable Web Application (Docker)
- **[HackTheBox](https://hackthebox.com)** — 已退役的机器
- **[TryHackMe](https://tryhackme.com)** — Web Hacking 房间
```
# 使用 Docker 运行 DVWA
docker run -d -p 80:80 vulnerables/web-dvwa
python3 scanner.py -u http://localhost -o dvwa_report.json
```
## 项目结构
```
vuln-scanner/
├── scanner.py # Punto de entrada CLI
├── requirements.txt
├── modules/
│ ├── headers.py # Detección de cabeceras de seguridad
│ ├── xss.py # XSS reflejado en parámetros y formularios
│ ├── sqli.py # SQL Injection error-based
│ ├── redirect.py # Open Redirect
│ └── dirlisting.py # Directory Listing y rutas sensibles
└── utils/
├── http.py # Cliente HTTP y extractor de formularios
└── reporter.py # Salida en consola (colores) y JSON
```
## 免责声明
本工具仅供**教育及在授权环境中使用**。作者不对不当使用承担责任。在扫描任何系统之前,请确保已获得所有者的明确许可。
**作者:** Carlos Santiago Patiño Reyes
**LinkedIn:** [carlos-santiago-patino-reyes](https://linkedin.com/in/carlos-santiago-patino-reyes)
**作品集:** [santiagop0815.github.io/Portafolio](https://santiagop0815.github.io/Portafolio/)
标签:CISA项目, Homebrew安装, OWASP Top 10, Python, Web漏洞扫描器, 密码管理, 文档结构分析, 无后门, 请求拦截, 逆向工具