ALFA1024/Website-Vulnerability-Scanner

GitHub: ALFA1024/Website-Vulnerability-Scanner

一款具备报告生成与定时任务功能的全栈网站安全扫描工具,专注于 SSL/TLS 配置及安全响应头检测。

Stars: 0 | Forks: 0

# 网站漏洞扫描器 一个用于扫描网站 SSL/TLS 和安全头漏洞的全栈 Web 应用程序,具备报告生成和定时扫描功能。 ## 功能特性 - **手动扫描**:按需扫描任意网站的漏洞 - **SSL/TLS 扫描**:检测证书问题、弱 TLS 版本和有效性问题 - **安全头分析**:检查缺失或配置错误的安全头 - **仪表盘**:查看所有扫描和漏洞统计信息 - **报告生成**:将扫描结果导出为 PDF、HTML 或 JSON - **定时扫描**:设置每日、每周或每月的自动扫描计划 - **漏洞追踪**:追踪漏洞的历史记录 ## 项目结构 ``` Website Vulnerability Scanner/ ├── backend/ │ ├── src/ │ │ ├── server.js # Express server entry point │ │ ├── scanners/ # Scanning modules │ │ │ ├── sslScanner.js # SSL/TLS vulnerability scanner │ │ │ └── headerScanner.js # Security headers scanner │ │ ├── routes/ # API routes │ │ │ ├── scanRoutes.js # Scan endpoints │ │ │ ├── reportRoutes.js # Report generation │ │ │ └── scheduleRoutes.js # Schedule management │ │ └── utils/ │ │ └── database.js # Database operations │ ├── package.json │ ├── .env │ └── .gitignore ├── frontend/ │ ├── src/ │ │ ├── App.js # Main React component │ │ ├── index.js # React entry point │ │ └── components/ # React components │ │ ├── Header.js │ │ ├── Navigation.js │ │ ├── Scanner.js │ │ ├── Dashboard.js │ │ ├── Reports.js │ │ └── Schedules.js │ ├── public/ │ │ └── index.html │ ├── package.json │ └── .gitignore ├── README.md └── .github/ └── copilot-instructions.md ``` ## 安装说明 ### 前置条件 - Node.js 14+ 和 npm ### 后端设置 1. 进入后端目录: ``` cd backend ``` 2. 安装依赖项: ``` npm install ``` 3. 创建一个包含配置的 `.env` 文件: ``` PORT=5000 NODE_ENV=development ``` 4. 启动后端服务器: ``` npm run dev ``` 后端将运行在 `http://localhost:5000` ### 前端设置 1. 进入前端目录: ``` cd frontend ``` 2. 安装依赖项: ``` npm install ``` 3. 启动开发服务器: ``` npm start ``` 前端将运行在 `http://localhost:3000` ## API 端点 ### 扫描 - `POST /api/scans/start` - 启动新扫描 - `GET /api/scans/:scanId` - 获取扫描结果 - `GET /api/scans` - 获取所有扫描记录 ### 报告 - `GET /api/reports/:scanId/pdf` - 下载 PDF 报告 - `GET /api/reports/:scanId/html` - 查看 HTML 报告 - `GET /api/reports/:scanId/json` - 获取 JSON 数据 ### 计划任务 - `POST /api/schedules/create` - 创建定时扫描 - `GET /api/schedules` - 获取所有活动的计划 - `POST /api/schedules/:scheduleId/stop` - 停止定时扫描 ## 可检测的漏洞类型 ### SSL/TLS 问题 - 证书过期 - 证书有效期 - 弱 TLS 版本(TLSv1, TLSv1.1) - 缺少子域名支持 ### 安全头问题 - 缺少 HSTS (Strict-Transport-Security) - 缺少 X-Content-Type-Options - 缺少 X-Frame-Options - 缺少 Content-Security-Policy - 弱 HSTS 配置 - 不安全的 Cookie(缺少 Secure/HttpOnly 标志) - 信息泄露头 ## 使用技术 ### 后端 - Node.js & Express.js - SQLite3 用于数据持久化 - node-cron 用于定时任务 - axios 用于 HTTP 请求 - pdfkit 用于 PDF 生成 ### 前端 - React 18 - React Router 用于导航 - Axios 用于 API 调用 - CSS3 用于样式 ## 开发 ### 后端开发 ``` cd backend npm run dev # Runs with nodemon for auto-reload ``` ### 前端开发 ``` cd frontend npm start # Runs with React dev server ``` ## 生产环境构建 ### 后端 ``` cd backend npm start # Runs production server ``` ### 前端 ``` cd frontend npm run build # Creates optimized production build ``` ## 许可证 MIT License ## 支持 如有问题或疑问,请在仓库中创建 issue。
标签:Dashboard, Express, HTTPS, MITM代理, PDF导出, React, SSL/TLS检测, Syscalls, TLS, Web安全, 全栈应用, 安全头部分析, 定时任务, 密码管理, 插件系统, 无线安全, 漏洞报告, 网站漏洞扫描器, 网络安全, 自定义脚本, 蓝队分析, 证书验证, 防御工具, 隐私保护