gunal777/VulnScan

GitHub: gunal777/VulnScan

一款基于 React 与 Node.js 构建的全栈 Web 漏洞扫描器,集成了端口扫描、SSL 验证、安全标头分析与风险评估报告功能。

Stars: 0 | Forks: 0

# VulnScan 一款使用 **Node.js、Express、MongoDB、React 和 Nmap** 构建的全栈 Web 漏洞扫描器。VulnScan 能够对域名、URL 和 IP 地址执行自动化的侦察和安全检查,通过现代化的仪表盘界面生成详细的漏洞报告和风险评估。 ## 功能 ### 网络扫描 * 使用 Nmap 进行端口扫描 * 检测开放服务 * 对已发现的端口进行服务识别 ### HTTP 安全标头分析 * 检查缺失的安全标头: * Content-Security-Policy (CSP) * X-Frame-Options * X-Content-Type-Options * Strict-Transport-Security (HSTS) * Referrer-Policy * 检测不必要的标头泄露 ### SSL/TLS 分析 * SSL 证书验证 * 证书过期监控 * 主机名验证 * 自签名证书检测 * TLS 握手验证 ### 风险评估引擎 * 基于严重程度的漏洞评分 * 严重、高、中、低和信息级别的发现 * 综合风险评分生成 * 安全态势分类 ### 仪表盘与报告 * 交互式安全仪表盘 * 近期扫描历史 * 详细的漏洞报告 * 风险趋势可视化 * 严重程度分布图 * 扫描记录管理 ## 技术栈 ### 前端 * React * React Router DOM * Context API * Axios * Recharts * Framer Motion * Lucide React ### 后端 * Node.js * Express.js * MongoDB * Mongoose * Nmap ### 安全分析 * Nmap * Native TLS Module * HTTP 标头检查 ## 项目结构 ``` VulnScan/ │ ├── backend/ │ ├── controllers/ │ ├── routes/ │ ├── services/ │ │ ├── nmapService.js │ │ ├── headerService.js │ │ ├── sslService.js │ │ └── scoringService.js │ └── models/ │ │ ├── frontend/ │ ├── pages/ │ │ ├── Dashboard.jsx │ │ ├── NewScan.jsx │ │ ├── RecentScans.jsx │ │ └── ScanDetails.jsx │ ├── context/ │ ├── hooks/ │ ├── services/ │ └── components/ │ └── README.md ``` ## 安装说明 ### 克隆仓库 ``` git clone https://github.com/gunal777/VulnScan.git cd VulnScan ``` ### 后端设置 ``` cd backend npm install ``` 创建 `.env` 文件: ``` PORT=5000 MONGODB_URI=your_mongodb_connection_string ``` 启动服务器: ``` npm run dev ``` ### 前端设置 ``` cd frontend npm install npm run dev ``` ## 使用说明 1. 启动前端和后端服务器。 2. 在浏览器中打开应用程序。 3. 导航至 **New Scan**。 4. 输入目标: * 域名 * URL * IP 地址 5. 启动扫描。 6. 查看: * 开放端口 * SSL/TLS 信息 * 安全发现 * 风险评分 7. 通过 Recent Scans 页面访问历史扫描记录。 ## 示例发现 ### SSL 证书已过期 ``` { "severity": "Critical", "title": "SSL Certificate Expired" } ``` ### 缺失安全标头 ``` { "severity": "Medium", "title": "Missing Content-Security-Policy Header" } ``` ### Server 标头泄露 ``` { "severity": "Low", "title": "Server Header Disclosure" } ``` ## 当前功能 * 端口枚举 * 安全标头分析 * SSL/TLS 验证 * 风险评分 * 历史扫描存储 * 交互式仪表盘 * 详细的发现视图 * 扫描删除 ## 计划中的功能 * PDF 报告导出 * DNS 枚举 * WHOIS 查询 * 技术指纹识别 * 用户身份验证 * 邮件通知 ## 学习目标 开发此项目旨在加强以下方面的技能: * 网络安全基础 * 网络侦察 * 漏洞评估 * REST API 开发 * React 状态管理 * 后端架构 * 数据可视化 * 安全报告 ## 免责声明 VulnScan 仅供教育和授权的安全测试目的使用。在扫描您不拥有或管理的系统之前,请务必获得许可。
标签:CTI, GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, Web安全, 加密, 反取证, 安全评估, 插件系统, 漏洞扫描器, 自定义脚本, 蓝队分析