gagan2006-hacked/Web-vulnerability-scanner

GitHub: gagan2006-hacked/Web-vulnerability-scanner

基于 OWASP ZAP 的全栈 Web 漏洞扫描器,提供用户认证、扫描调度、漏洞告警管理与 PDF 报告导出功能。

Stars: 0 | Forks: 0

# Web 漏洞扫描器 一个达到专业实习水平的全栈漏洞扫描器 MVP。 ## 技术栈 - 前端:React, Vite, Tailwind CSS - 后端:Spring Boot, Spring Security, JWT - 数据库:MySQL - 扫描引擎:OWASP ZAP API - 部署:Vercel 前端,Render 后端 ## MVP 功能 - 基于 JWT 的注册和登录 - 提交公开网站 URL 进行扫描 - 屏蔽 localhost、私有 IP 和内部主机名 - 通过 OWASP ZAP 集成层启动扫描任务 - 将扫描历史和漏洞警报存储在 MySQL 中 - 面向仪表盘的扫描摘要 API - 严重程度、OWASP Top 10 映射、建议和安全评分 - PDF 报告导出 endpoint - 基础的内存级 API 速率限制 - Admin/User 角色 ## 项目结构 ``` web-vulnerability-scanner/ backend/ Spring Boot REST API frontend/ React + Tailwind app scaffold docs/ Architecture, schema, API, deployment notes ``` ## 后端快速开始 1. 创建 MySQL 数据库: ``` CREATE DATABASE vuln_scanner CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. 配置环境变量: ``` DB_URL=jdbc:mysql://localhost:3306/vuln_scanner DB_USERNAME=root DB_PASSWORD=your_password JWT_SECRET=change-this-to-a-very-long-random-secret-at-least-32-characters ZAP_BASE_URL=http://localhost:8081 ZAP_API_KEY= ZAP_MOCK=true FRONTEND_ORIGIN=http://localhost:5173 ``` 3. 运行后端: ``` cd backend mvn spring-boot:run ``` 4. 测试健康状态: ``` curl http://localhost:8080/api/health ``` ## 前端快速开始 ``` cd frontend npm install npm run dev ``` ## OWASP ZAP 本地设置 在 MVP 开发阶段,请保持 `ZAP_MOCK=true`。 当准备好进行真实扫描时,运行 ZAP daemon: ``` docker run -u zap -p 8081:8080 -i ghcr.io/zaproxy/zaproxy:stable zap.sh -daemon -host 0.0.0.0 -port 8080 -config api.disablekey=true ``` 然后设置: ``` ZAP_MOCK=false ZAP_BASE_URL=http://localhost:8081 ``` 仅扫描您拥有或获得书面测试许可的网站。 ## 文档 - [架构](docs/ARCHITECTURE.md) - [API 设计](docs/API_DESIGN.md) - [数据库 Schema](docs/database-schema.sql) - [部署指南](docs/DEPLOYMENT.md) - [截图构想](docs/SCREENSHOTS.md) ## 学生 MVP 路线图 1. 后端身份验证和扫描 API 2. MySQL 持久化 3. ZAP 模拟扫描流程 4. React 登录/仪表盘/扫描历史 5. 真实的 ZAP daemon 集成 6. PDF 报告 7. Admin 仪表盘、图表和细节优化
标签:CISA项目, Java Spring Boot, OWASP ZAP, React, Syscalls, Web漏洞扫描, 域名枚举, 网络安全, 隐私保护