SubhadipNag/VulnSec-Scanner
GitHub: SubhadipNag/VulnSec-Scanner
一个基于 Flask 和 React 的轻量级 Web 漏洞扫描器,用于教育和基础安全测试中的常见漏洞检测。
Stars: 1 | Forks: 0
# nner": This might not be a standard term. "VulnSec" could be "漏洞安全" but it's part of the name. Probably keep it as "VulnSec-Scanner". But to translate, I could say "VulnSec-Scanner 扫描仪" or something. However, from the examples, for 'Running Naabu', it's translated to '运行 Naabu', so "Naabu" is kept, and "Running" is translated. Here, "VulnSec-Scanner" might be the entire name, so perhaps just "VulnSec-Scanner" is fine, but that's not a translation. I need to translate it to Chinese.
一个基于 Flask 和 React 构建的轻量级全栈 Web 漏洞扫描器。该项目有助于识别常见的网络安全问题,例如开放端口、不安全的 HTTP 头部以及跨站脚本 (XSS) 漏洞。
# 目录
1. 项目概述
2. 功能特性
3. 技术栈
4. 项目结构
5. 系统要求
6. 安装指南
7. 后端设置
8. 前端设置
9. 运行应用程序
10. Docker 设置
11. API 端点
12. 扫描器模块
13. 扫描工作原理
14. 使用指南
15. 测试应用程序
16. 报告与日志
17. 故障排除
18. 安全免责声明
19. 未来改进
20. 贡献
21. 许可证
# 1. 项目概述
VulnSec-Scanner 是一个基于 Web 的漏洞评估工具,专为教育目的、网络安全实践和初学者渗透测试工作流而设计。
该应用程序提供:
* 端口扫描
* HTTP 安全头部分析
* 基础 XSS 漏洞检测
* 基于 Web 的仪表盘界面
* Docker 支持
* REST API 后端
本项目展示了现代 Web 应用程序如何利用 Python 和 JavaScript 技术集成安全扫描功能。
# 2. 功能特性
## 核心功能
### 端口扫描器
* 检测目标系统上的开放端口
* 帮助识别暴露的服务
* 适用于侦察和网络分析
### 头部扫描器
* 检查 HTTP 响应头
* 识别缺失的安全头部
* 检测弱或不安全的配置
### XSS 扫描器
* 执行基础的反射型 XSS 测试
* 向表单和参数发送载荷
* 检测潜在的跨站脚本问题
### 全栈 Web 界面
* React 前端
* Flask REST API 后端
* 易于使用的扫描仪表盘
### Docker 支持
* 容器化部署
* 跨操作系统轻松设置
* 可移植的开发环境
# 3. 技术栈
## 前端
* React.js
* Axios
* HTML/CSS
* JavaScript
## 后端
* Flask
* Python
* Flask Blueprints
* Requests 库
* Socket 编程
## 容器化
* Docker
* Docker Compose
# 4. 项目结构
```
vuln_scanner/
│
├── backend/
│ ├── database/
│ ├── reports/
│ ├── routes/
│ ├── scanners/
│ ├── app.py
│ ├── requirements.txt
│ └── Dockerfile
│
├── frontend/
│ ├── public/
│ ├── src/
│ ├── Dockerfile
│ └── README.md
│
├── docker-compose.yml
└── README.md
```
# 5. 系统要求
## 最低要求
* 4 GB 内存
* 10 GB 可用存储
* 互联网连接
## 支持的操作系统
* Kali Linux
* Ubuntu
* Debian
* Windows (需使用 WSL 或 Docker)
* macOS
## 必需软件
### 必装
* Python 3.10+
* Node.js 18+
* npm
* Git
### 可选
* Docker
* Docker Compose
# 6. 安装指南
## 步骤 1:克隆仓库
```
git clone https://github.com/your-username/VulnSec-Scanner.git
```
## 步骤 2:进入项目目录
```
cd VulnSec-Scanner/vuln_scanner
```
# 7. 后端设置
进入后端目录:
```
cd backend
```
## 创建虚拟环境
### Maybe for names, I should keep them in English and add a Chinese description if necessary. But the instruction is to translate the headings.
```
python3 -m venv venv
source venv/bin/activate
```
### Let's list the headings again:
```
python -m venv venv
venv\Scripts\activate
```
## 安装后端依赖
```
pip install -r requirements.txt
```
## 示例 requirements.txt
```
Flask
flask-cors
requests
beautifulsoup4
```
## 启动后端服务器
```
python app.py
```
预期输出:
```
Running on http://127.0.0.1:5000
```
# 8. 前端设置
打开另一个终端。
进入前端目录:
```
cd frontend
```
## 安装前端依赖
```
npm install
```
## 启动 React 前端
```
npm start
```
预期输出:
```
Compiled successfully!
```
前端运行在:
```
http://localhost:3000
```
# 9. 运行应用程序
## 启动后端
```
cd backend
python app.py
```
## 启动前端
```
cd frontend
npm start
```
## 访问应用程序
打开浏览器:
```
http://localhost:3000
```
# 10. Docker 设置
Docker 简化了安装和部署过程。
## 安装 Docker
### 1. VulnSec-Scanner
```
sudo apt update
sudo apt install docker.io docker-compose -y
```
启用 Docker:
```
sudo systemctl enable docker
sudo systemctl start docker
```
验证:
```
docker --version
```
## 构建并运行容器
在项目根目录下执行:
```
docker-compose up --build
```
后台运行:
```
docker-compose up -d
```
停止容器:
```
docker-compose down
```
# 11. API 端点
## 扫描端点
### POST 请求
```
POST /scan
```
### 请求体示例
```
{
"target": "example.com"
}
```
### 响应示例
```
{
"ports": [80, 443],
"headers": {
"X-Frame-Options": "Missing"
},
"xss": "Potential vulnerability detected"
}
```
# 12. 扫描器模块
## 端口扫描器
### 目的
检测目标系统上开放的 TCP 端口。
### 常用检查端口
| 端口 | 服务 |
| ---- | ------ |
| 21 | FTP |
| 22 | SSH |
| 23 | Telnet |
| 25 | SMTP |
| 53 | DNS |
| 80 | HTTP |
| 443 | HTTPS |
| 3306 | MySQL |
### 文件
```
backend/scanners/port_scanner.py
```
## 头部扫描器
### 目的
检查 HTTP 安全头部。
### 测试的头部
* Content-Security-Policy
* X-Frame-Options
* Strict-Transport-Security
* X-Content-Type-Options
* Referrer-Policy
### 文件
```
backend/scanners/header_scanner.py
```
## XSS 扫描器
### 目的
检测反射型 XSS 漏洞。
### 示例载荷
```
```
### 文件
```
backend/scanners/xss_scanner.py
```
# 13. 扫描工作原理
## 逐步工作流程
1. 用户输入目标 URL/IP
2. React 前端发送 API 请求
3. Flask 后端接收请求
4. 后端调用扫描器模块
5. 收集结果
6. 将 JSON 响应发送给前端
7. 前端显示漏洞信息
# 14. 使用指南
## 示例 1:扫描一个网站
输入:
```
https://example.com
```
点击:
```
Start Scan
```
显示结果:
* 开放端口
* 缺失的安全头部
* XSS 发现
## 示例 2:扫描本地主机
```
127.0.0.1
```
适用于:
* 测试本地服务器
* 学习网络安全
* 调试 Web 应用程序
# 15. 测试应用程序
## 后端测试
使用 curl:
```
curl -X POST http://127.0.0.1:5000/scan \
-H "Content-Type: application/json" \
-d '{"target":"example.com"}'
```
## 前端测试
1. 打开前端
2. 输入目标
3. 运行扫描
4. 验证结果
# 16. 报告与日志
## 报告目录
```
backend/reports/
```
目的:
* 保存扫描输出
* 存储漏洞报告
* 导出发现
## 数据库目录
```
backend/database/
```
可用于:
* 用户管理
* 报告历史
* 扫描日志
* 身份验证
# 17. 故障排除
## 问题:后端无法启动
### 解决方案
安装依赖:
```
pip install -r requirements.txt
```
检查 Python 版本:
```
python --version
```
## 问题:npm start 失败
### 解决方案
删除 node_modules:
```
rm -rf node_modules package-lock.json
npm install
```
## 问题:CORS 错误
### 解决方案
安装 Flask-CORS:
```
pip install flask-cors
```
添加:
```
from flask_cors import CORS
CORS(app)
```
## 问题:端口已被占用
### 2. Linux/macOS
```
sudo lsof -i :5000
kill -9 PID
```
### 3. Windows
```
netstat -ano | findstr :5000
```
## 问题:Docker 问题
重启 Docker:
```
sudo systemctl restart docker
```
# 18. 安全免责声明
本项目严格用于以下目的:
* 教育目的
* 道德黑客实践
* 安全研究
* 授权的渗透测试
**未经许可,不得扫描任何系统。**
未经授权的扫描可能违反法律法规。
#  开发者对本项目的误用不承担任何责任。
# 19. 未来改进
潜在的增强功能:
* SQL 注入扫描器
* CSRF 检测
* 身份验证系统
* PDF 报告导出
* 实时仪表盘
* AI 驱动的漏洞分析
* 多线程扫描
* CVE 数据库集成
* OWASP Top 10 支持
# 20. 贡献
欢迎贡献。
## 步骤
1. Fork 仓库
2. 创建新分支
3. 进行修改
4. 提交更新
5. 推送分支
6. 开启 Pull Request
# 21. 许可证
本项目基于 MIT 许可证。
# 命令总结
## 前端
```
cd frontend
npm install
npm start
```
## 4. Kali Linux
```
docker-compose up --build
```
# 仪表盘
OWASP Juice Shop 可以安全扫描!
# 作者
由 SubhadipNag 开发
GitHub: [https://github.com/SubhadipNag](https://github.com/SubhadipNag)
# 最终说明
VulnSec-Scanner 是一个教育性的网络安全项目,旨在帮助初学者了解 Web 漏洞扫描器的内部工作原理。
它将前端开发、后端 API、网络概念和网络安全基础整合为一个实用的学习项目。
# 作者
由 SubhadipNag 开发
GitHub: [https://github.com/SubhadipNag](https://github.com/SubhadipNag)
# 最终说明
VulnSec-Scanner 是一个教育性的网络安全项目,旨在帮助初学者了解 Web 漏洞扫描器的内部工作原理。
它将前端开发、后端 API、网络概念和网络安全基础整合为一个实用的学习项目。标签:CMS安全, Flask框架, HTTP安全头部, JavaScript, Python编程, React前端, REST API, web应用安全, XSS检测, 全栈应用, 反取证, 学习工具, 安全测试, 安全监控, 安全评估, 扫描器, 插件系统, 攻击性安全, 数据统计, 版权保护, 端口扫描, 网络安全, 网络测绘, 请求拦截, 轻量级工具, 逆向工具, 隐私保护