NANDAN-S-GMIT/web-vulnerability-scanner

GitHub: NANDAN-S-GMIT/web-vulnerability-scanner

这是一款基于 Python 和 Next.js 构建的具备真实检测能力的 Web 漏洞扫描器,支持 XSS、SQL 注入及 CSRF 等常见 Web 漏洞的安全测试。

Stars: 0 | Forks: 0

# 🔒 Web 应用程序漏洞扫描器 一款专业的、生产就绪的 Web 漏洞扫描器,具备**真实检测能力**。该工具基于 Python 后端和 Next.js 前端构建,通过 payload 注入、响应分析和模式匹配执行实际的安全测试。 ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Next.js](https://img.shields.io/badge/Next.js-16.1-black) ![Python](https://img.shields.io/badge/Python-3.8+-blue) ![Flask](https://img.shields.io/badge/Flask-3.0-green) # 截图 以下截图展示了 **Web 应用程序漏洞扫描器** 的关键组件和工作流程。 ### 仪表盘与项目信息
Landing Page

OWASP Top 10 Coverage
### 扫描工作流程
Scan Input Page
Scan Initialization & Crawling
SQL Injection Testing Phase
Vulnerability Summary Dashboard
Detailed Vulnerability Findings
Scanner Limitations
## 🎯 项目目的 这是一个**真正的漏洞扫描器**,可对目标网站执行实际的安全测试。它可以检测: - **跨站脚本 (XSS)** - 通过 payload 注入和反射分析 - **SQL 注入** - 基于错误和基于时间的检测 - **跨站请求伪造 (CSRF)** - 基于启发式的 token 分析 **非常适合用于:** - 网络安全作品集 - SOC 分析师 / 安全工程师面试 - 学习真实的漏洞扫描方法 - 教育性安全测试 ## ⚠️ 安全免责声明 **重要提示**:此工具会对目标网站执行**实际的漏洞测试**。 - ✅ 仅扫描您**拥有**或获得**明确书面授权**进行测试的网站 - ❌ 在大多数司法管辖区,未经授权的扫描是**违法的** - ⚖️ 始终遵循负责任的披露原则 - 🎓 **仅用于教育和授权测试** ## ✨ 功能 ### 真实检测能力 #### 跨站脚本 (XSS) - **9 种 XSS payload**,包括 ``、`` 等 - 测试 URL 参数和表单输入 - 分析 HTTP 响应中未转义的 payload 反射 - 报告受影响的参数并提供证据 #### SQL 注入 - **基于错误的检测**:检测来自 MySQL、PostgreSQL、MSSQL、Oracle 的数据库错误 - **基于时间的检测**:测量 SLEEP/WAITFOR payload 造成的响应延迟 - 测试 URL 参数和表单提交 - 报告严重性(严重/高)并提供证据 #### CSRF 检测 - 识别状态更改表单(POST、PUT、DELETE) - 检查常见的 CSRF token 字段名 - 针对缺失保护的启发式分析 - 报告潜在的 CSRF 漏洞 #### 基础 Web 爬虫 - 使用 BeautifulSoup 进行单页 HTML 解析 - 发现链接和表单 - 从 URL 中提取参数 - 无递归爬取(设计如此) ### 专业 UI - 🌙 **暗黑网络安全主题** - 专业的 SOC 仪表盘美学 - ✨ **毛玻璃特效** - 现代、高端的设计 - 📊 **实时进度** - 实时扫描状态更新 - 🎨 **颜色编码的严重性** - 严重、高、中、低 - 📱 **响应式设计** - 适用于所有设备 ## 🛠️ 技术栈 **Backend:** - Python 3.8+ - Flask (REST API) - Requests (HTTP 客户端) - BeautifulSoup4 (HTML 解析) **Frontend:** - Next.js 16.1 (App Router) - React 19.2 - TypeScript 5.0 - Tailwind CSS 4.0 ## 📁 项目结构 ``` web-vuln-scanner/ ├── backend/ # Python backend │ ├── app.py # Flask API server │ ├── requirements.txt # Python dependencies │ ├── README.md # Backend documentation │ └── scanner/ │ ├── crawler.py # Web crawler │ ├── xss_detector.py # XSS detection │ ├── sqli_detector.py # SQLi detection │ ├── csrf_detector.py # CSRF detection │ ├── engine.py # Scan orchestrator │ └── session.py # Session management ├── app/ # Next.js frontend │ ├── page.tsx # Landing page │ ├── scan/page.tsx # Scan interface │ └── globals.css # Styles ├── components/ # React components └── lib/ # Frontend utilities ├── scanAPI.ts # Backend API integration └── types.ts # TypeScript definitions ``` ## 🚀 快速开始 ### 前置条件 - **Node.js 20+**(用于前端) - **Python 3.8+**(用于后端) - npm 或 yarn 包管理器 - pip 包管理器 ### 安装 #### 1. 克隆仓库 ``` git clone cd web-vuln-scanner ``` #### 2. 后端设置 ``` # 导航到 backend 目录 cd backend # 安装 Python dependencies pip install -r requirements.txt # 启动 backend server python app.py ``` 后端将在 `http://localhost:5000` 上运行 #### 3. 前端设置 ``` # 导航回 root 目录 cd .. # 安装 Node dependencies npm install # 启动 frontend development server npm run dev ``` 前端将在 `http://localhost:3000` 上运行 ### 快速启动 1. **启动后端**:`cd backend && python app.py` 2. **启动前端**:`npm run dev`(在根目录下) 3. **打开浏览器**:导航至 `http://localhost:3000` 4. **开始扫描**:输入目标 URL 并点击“开始扫描” ## 📖 使用方法 1. **落地页** - 查看功能和安全免责声明 - 点击“开始安全扫描” 2. **扫描页面** - 输入目标 URL(例如 `http://testphp.vulnweb.com`) - 查看扫描器限制 - 点击“开始扫描” - 监控实时进度 3. **结果仪表盘** - 按严重性查看漏洞摘要 - 展开卡片以获取详细信息 - 查看证据、OWASP 类别和修复建议 ## 🔍 扫描器限制 **在 UI 中明确显示:** - ⚠️ **仅单页爬取** - 不递归跟踪链接 - ⚠️ **无 JavaScript 执行** - 无法分析客户端渲染的应用 - ⚠️ **无身份验证** - 无法测试需要认证的页面 - ⚠️ **基于模式匹配** - 非 ML 或 AI 检测 - ⚠️ **启发式 CSRF 检测** - 可能出现误报/漏报 - ⚠️ **内存存储** - 后端重启后结果丢失 ## 🧪 测试扫描器 ### 测试站点(合法且安全) - **DVWA**: http://www.dvwa.co.uk/ - **bWAPP**: http://www.itsecgames.com/ - **WebGoat**: https://owasp.org/www-project-webgoat/ - **OWASP Juice Shop**: https://owasp.org/www-project-juice-shop/ **注意**:始终使用专门的漏洞测试应用程序,切勿在未经许可的情况下扫描生产网站。 ## 🎨 设计理念 该应用程序采用受专业 SOC 工具启发的**暗黑网络安全主题**: - **调色板:** - 主色:青色/蓝色 (#00D9FF, #0EA5E9) - 严重:红色 (#DC2626) - 高:橙色 (#F97316) - 中:黄色 (#EAB308) - 低:绿色 (#10B981) - **视觉效果:** - 带有背景模糊的毛玻璃效果 - 交互元素上的赛博发光效果 - 平滑的渐变动画 - 实时进度更新 ## 📚 API 文档 详细 API 文档请参阅 [backend/README.md](backend/README.md),包括: - Endpoint 规范 - 请求/响应格式 - 检测方法 - 错误处理 ## 🔮 未来增强 ### 高级检测 - [ ] 基于 DOM 的 XSS 检测 - [ ] 盲注 SQL 注入检测 - [ ] XML 外部实体 (XXE) 检测 - [ ] 服务端请求伪造 (SSRF) - [ ] 身份验证绕过测试 ### 功能 - [ ] 带深度控制的递归爬取 - [ ] JavaScript 渲染 (Selenium/Playwright) - [ ] 身份验证支持(会话管理) - [ ] 报告导出 (PDF, JSON, CSV) - [ ] 扫描历史记录和对比 - [ ] 自定义 payload 库 ### 基础设施 - [ ] 数据库存储 (PostgreSQL/MongoDB) - [ ] 用户身份验证 - [ ] 速率限制和节流 - [ ] 分布式扫描 - [ ] Docker 容器化 ## 🐛 故障排除 **后端无法启动:** - 确保已安装 Python 3.8+:`python --version` - 安装依赖:`pip install -r backend/requirements.txt` - 检查端口 5000 是否可用 **前端无法连接后端:** - 验证后端是否在端口 5000 上运行 - 检查 `backend/app.py` 中的 CORS 配置 - 确保 `NEXT_PUBLIC_API_URL` 设置正确 **扫描超时:** - 目标网站可能速度慢或正在阻止请求 - 增加 `backend/scanner/crawler.py` 中的超时时间 - 检查防火墙/网络设置 ## 📄 许可证 本项目采用 MIT 许可证。 ## 📧 联系方式 为安全专业人士和道德黑客打造。 **注意:** 这是一个具备实际检测能力的真实漏洞扫描器。在扫描任何网站之前,请务必获得适当的授权。
标签:AES-256, DOE合作, Flask, OWASP Top 10, Payload注入, Python, SQL注入检测, Web安全, Web应用扫描器, XSS检测, 代码生成, 后端开发, 响应分析, 字符串匹配, 安全测试, 攻击性安全, 无后门, 模式匹配, 渗透测试工具, 漏洞评估, 生产环境工具, 网络安全, 自动化资产收集, 蓝队分析, 逆向工具, 隐私保护