Sai786512/vulnerability-scanner

GitHub: Sai786512/vulnerability-scanner

一款基于Python的简单网页与网络安全分析工具,用于快速扫描和报告常见安全漏洞。

Stars: 0 | Forks: 0

╔══════════════════════════════════════════════════════════════╗ ║ VulnScan — 漏洞扫描器 ║ ║ 简单的网页与网络安全分析工具 ║ ╚══════════════════════════════════════════════════════════════╝ ⚠ 法律声明 仅扫描您拥有或明确获得授权进行测试的系统。 未经授权的扫描是非法且不道德的。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 功能概览 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 模块 1 — 端口扫描器 • 扫描 30+ 常用端口(FTP, SSH, Telnet, HTTP, RDP 等) • 多线程运行(速度快,100 个线程) • 抓取服务横幅信息以进行版本检测 • 对每个开放端口进行风险评级(严重 / 高危 / 中危 / 低危) 模块 2 — HTTP 头部分析器 • 检查缺失的安全头信息: - Strict-Transport-Security (HSTS) - Content-Security-Policy - X-Frame-Options (防点击劫持) - X-Content-Type-Options - X-XSS-Protection • 检测信息泄露(Server, X-Powered-By 头信息) • 检查 Cookie 安全标志(HttpOnly, Secure, SameSite) 模块 3 — SSL/TLS 检查器 • 检测过时的 TLS 版本(SSLv2/3, TLS 1.0/1.1) • 检查证书过期时间(小于 30 天则警告) • 检测 CN/主机名不匹配 模块 4 — 敏感路径发现 • 检查 25+ 个已知危险路径: /.env, /.git/config, /wp-config.php, /phpmyadmin, /actuator/env, /backup.zip, /backup.sql, /swagger-ui ... • 报告每个路径的 HTTP 状态码 模块 5 — 本地软件版本检查器 • 检测 Python, pip, OpenSSL, SSH, curl, Git, Node.js, npm 版本 • 与已知漏洞版本进行交叉比对(Apache, nginx, OpenSSH, PHP, OpenSSL)并映射 CVE 模块 6 — DNS 与网络信息 • 主机名解析为 IP • 反向 DNS 查询 报告生成器 • 保存人类可读的 .txt 报告 • 保存机器可读的 .json 报告 • 按严重程度排序(严重 → 信息性) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 系统要求 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • Python 3.8 或更高版本 • 无需安装任何第三方包 — 仅使用标准库 • 可在 Windows, macOS, Linux 上运行 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 在 Visual Studio Code 中设置 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 步骤 1 — 安装 Python(如果尚未安装) 从 https://www.python.org/downloads/ 下载 ✔ 安装过程中勾选 "Add Python to PATH" 步骤 2 — 在 VS Code 中打开项目 • 打开 VS Code • 文件 → 打开文件夹 → 选择包含 scanner.py 的文件夹 步骤 3 — 打开集成终端 • 按下 Ctrl + ` (反引号) 或 • 菜单:终端 → 新建终端 步骤 4 — 运行扫描器 python scanner.py 在 macOS/Linux 上如果需要使用 python3: python3 scanner.py 步骤 5 — 按照提示操作 工具将询问您: (1) 扫描哪个目标: 1 → localhost(您自己的机器) 2 → 自定义主机/IP 3 → scanme.nmap.org(Nmap 的合法测试服务器) (2) 运行哪些模块: 直接按 Enter 运行所有模块,或输入例如 1,2,3 (3) 测试哪个 HTTP 端口(默认为 80) 步骤 6 — 查看报告 扫描完成后,将在同一文件夹下生成两个文件: vuln_report_YYYYMMDD_HHMMSS.txt ← 人类可读格式 vuln_report_YYYYMMDD_HHMMSS.json ← 机器可读格式 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 示例使用场景 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 扫描您的 localhost(最安全的测试选项): → 选择目标:1 → 选择模块:all → 端口:80 扫描 Nmap 的合法测试服务器(需要互联网): → 选择目标:3 → 选择模块:1,6 → (跳过 HTTP 模块 — 它不是 Web 服务器) 扫描您正在开发的本地 Web 应用(例如 Flask 运行在端口 5000): → 选择目标:2 → 输入 127.0.0.1 → 选择模块:2,4 → 端口:5000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 文件结构 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ vuln_scanner/ ├── scanner.py ← 主脚本(运行此文件) ├── requirements.txt ← 说明(无需安装) └── README.txt ← 本文件 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 故障排除 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 错误:'python' 不被识别 → 改用 'python3 scanner.py' → 或重新安装 Python 并勾选 "Add to PATH" 端口扫描显示 localhost 上没有开放端口 → 如果本地没有运行服务器,这是正常的 → 启动一个 Web 服务器(例如 python -m http.server 8080) 然后重新运行以查看端口 8080 出现 SSL 检查失败 → 对于仅 HTTP 的目标是正常的 → 测试一个 HTTPS 站点(端口 443) Windows 上的权限错误 → 以管理员身份运行 VS Code / 终端 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
标签:HTTP安全头, SSL/TLS检查, Web安全, 主机安全, 云存储安全, 信息泄露检测, 反取证, 多线程扫描, 安全评估, 常见漏洞, 插件系统, 敏感路径发现, 数据统计, 版本检测, 端口扫描, 网络安全, 网络扫描, 蓝队分析, 证书验证, 逆向工具, 隐私保护