SkaiWkr/Vulnerability-Scanner
GitHub: SkaiWkr/Vulnerability-Scanner
一个基于纯 Python 的轻量级漏洞扫描器,用于检测 Web 应用和网络服务中的端口暴露、安全标头缺失、过时软件版本及 SSL/TLS 弱配置等常见安全问题。
Stars: 0 | Forks: 0
# 漏洞扫描器
一个基于 Python 的简单漏洞扫描器,用于检测 Web 应用程序和网络服务中的常见安全问题。无需外部依赖——在纯 Python 3 环境下运行。
## 功能特性
- **端口扫描**
- 扫描 14 个常见端口以查找开放服务
- 将弱/遗留服务(FTP、Telnet)标记为**高危**级别
- 将 SSH/RDP 标记为**中危**级别(需确保身份验证强度)
- **Web 应用程序扫描**
- 检查缺失的安全标头(CSP、HSTS、X-Frame-Options 等)
- 检测暴露服务器版本信息的标头
- 识别过时的 Apache、nginx、PHP、OpenSSL 版本
- **SSL/TLS 分析**
- 验证协议版本(将 TLS 1.0/1.1 标记为弱协议)
- 检测弱加密套件(DES、RC4)
- **报告输出**
- 控制台输出并按严重程度分组
- 导出 JSON 格式以便自动化处理
- 导出带样式表格的 HTML 报告
## 快速入门
```
# Clone the repository
git clone https://github.com/yourusername/vuln-scanner.git
cd vuln-scanner
# 运行 demo scan(安全的测试 target)
python vuln_scanner.py --demo
# Scan a target
python vuln_scanner.py -t example.com
# Custom port range
python vuln_scanner.py -t 192.168.1.1 -p 1-1000
# Scan specific ports + 生成 HTML report
python vuln_scanner.py -t example.com -p 80,443,8080 -o report.html
# JSON output
python vuln_scanner.py -t example.com -o report.json
```
## CLI 选项
| 标志 | 描述 | 示例 |
|------|-------------|---------|
| `-t, --target` | 目标主机或 URL | `example.com` |
| `-p, --ports` | 端口范围或列表 | `1-1000` 或 `80,443,8080` |
| `-o, --output` | 输出文件(.json 或 .html) | `report.html` |
| `--timeout` | 连接超时时间(秒) | `2.0` |
| `--demo` | 针对 scanme.nmap.org 运行演示 | — |
## 输出示例
```
======================================================================
VULNERABILITY SCAN REPORT
======================================================================
Scan Date: 2026-06-15 21:50:33
Total Findings: 9
Medium: 6
Low: 2
Info: 1
======================================================================
[High] Open Port 23
Target: example.com:23
Description: Port 23 (Telnet) is open. Replace with SSH immediately
Recommendation: Replace with SSH immediately
[Medium] Missing Content-Security-Policy
Target: http://example.com
Description: Security header missing: Content-Security-Policy (XSS...)
Recommendation: Add the Content-Security-Policy response header.
[Low] Server Header Exposure
Target: http://example.com
Description: Server header reveals: Apache/2.4.7
Recommendation: Remove or obscure the Server header.
```
## 项目结构
```
vuln-scanner/
├── vuln_scanner.py # Main scanner script
├── README.md # This file
└── .gitignore # Git ignore rules
```
## 环境要求
- Python 3.8+
无需外部包。仅使用标准库模块:
`socket`、`ssl`、`urllib`、`argparse`、`json`、`re`、`datetime`、`dataclasses`。
## 使用场景
- **安全评估** — 对目标进行快速初步侦察
- **家庭网络审计** — 扫描您的家用路由器或设备
- **渗透测试** — 在进行深度测试前进行快速枚举
- **学习教育** — 了解漏洞扫描的基本工作原理
## 免责声明
本工具仅供**授权的安全测试**和**教育目的**使用。请勿扫描任何未经您明确许可进行测试的系统。未经授权访问计算机系统是违法行为。
## 许可证
MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。
标签:Python, 实时处理, 插件系统, 无后门, 网络安全, 自动化报告, 逆向工具, 隐私保护