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安全, 加密, 反取证, 安全评估, 插件系统, 漏洞扫描器, 自定义脚本, 蓝队分析