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, 实时处理, 插件系统, 无后门, 网络安全, 自动化报告, 逆向工具, 隐私保护