ilyasoo05/Web-Vulnerability-Scanner
GitHub: ilyasoo05/Web-Vulnerability-Scanner
一款学术性质的 Web 漏洞扫描器,通过被动检查与主动模糊测试检测常见安全缺陷,并集成 OWASP ZAP 提供深度扫描能力,自动生成 PDF 报告。
Stars: 0 | Forks: 0
# Web 漏洞扫描器
一个综合性的 Web 漏洞扫描器,旨在分析目标 URL 并检测常见的安全配置错误和漏洞。本项目作为 PFA (Projet de Fin d'Année) 开发,具有强大的后端 API 和现代化、交互式的前端。
## 🚀 功能
扫描器对目标 URL 执行多项被动和主动检查,包括:
- **安全标头检查:** 检测是否缺失 HSTS、X-Frame-Options、X-Content-Type-Options 和 Content-Security-Policy (CSP) 等标头。
- **敏感文件与信息披露:** 检查是否暴露了 `.env`、`.git/config`、`robots.txt` 文件,以及服务器版本泄露。
- **表层模糊测试:** 针对基于错误的 SQL 注入 (SQLi) 和反射型跨站脚本攻击 (XSS) 进行基础模糊测试。
- **SSL/TLS 健康检查:** 验证是否强制使用 HTTPS,并检查无效或过期的证书。
- **开放重定向检测:** 识别可能被用于网络钓鱼的易受攻击的重定向参数。
- **目录列表暴露:** 扫描常见的配置错误目录,这些目录可能会暴露其内容。
- **深度扫描(通过 OWASP ZAP):** 集成 OWASP ZAP API,对目标 URL 执行深度爬取和高级主动模糊测试。
## 🛠️ 技术栈
**后端:**
- **框架:** Laravel (PHP)
- **身份验证:** Laravel Sanctum
- **报告生成:** barryvdh/laravel-dompdf (生成 PDF)
- **扫描:** Laravel HTTP Client & **OWASP ZAP** (深度扫描 API)
**前端:**
- **框架:** React 与 Vite
- **路由:** React Router DOM
- **HTTP Client:** Axios
- **数据可视化:** Recharts
- **国际化:** i18n
## 📁 项目结构
该仓库分为两个主要部分:
- `/backend`:Laravel 应用程序,包含扫描逻辑、API endpoint 和数据库配置。
- `/frontend`:使用 Vite 构建的 React 应用程序,提供用户友好的 dashboard 以启动扫描并查看报告。
## ⚙️ 入门指南
### 前置条件
- PHP >= 8.2
- Composer
- Node.js & npm
- 已安装并在本地运行的 **OWASP ZAP (Zed Attack Proxy)**
### 后端设置
1. 导航至后端目录:`cd backend`
2. 安装 PHP 依赖项:`composer install`
3. 复制环境文件:`cp .env.example .env`
4. 生成应用密钥:`php artisan key:generate`
5. 运行数据库迁移:`php artisan migrate`
6. 启动队列 worker(在单独的终端中):`php artisan queue:work`
7. 启动后端服务器:`php artisan serve`
### OWASP ZAP 设置
要启用深度扫描功能,您需要在 daemon 模式(或 UI)下运行 OWASP ZAP,并在端口 8080 上启用 API:
1. 安装 OWASP ZAP。
2. 使用命令行启动 ZAP(在本地开发环境中禁用 API 密钥):
# 在 Linux / macOS 上(如有必要,请调整 zaproxy.sh 的路径)
zaproxy -daemon -port 8080 -host 127.0.0.1 -config api.disablekey=true
# 在 Windows 上(如有必要,请调整 ZAP.exe 的路径)
"C:\Program Files\OWASP\Zed Attack Proxy\ZAP.exe" -daemon -port 8080 -host 127.0.0.1 -config api.disablekey=true
### 前端设置
1. 导航至前端目录:`cd frontend`
2. 安装 Node 依赖项:`npm install`
3. 启动开发服务器:`npm run dev`
## 🛡️ 免责声明
本工具出于教育目的和学术研究 (PFA) 而创建。**未经**所有者明确许可,**请勿**将此扫描器用于目标网站。对于因使用本软件而造成的任何误用或损害,作者概不负责。
标签:Laravel, OWASP ZAP, PDF报告生成, React, Syscalls, Web漏洞扫描, 反取证, 安全评估, 数据泄露, 自定义脚本