loid122/VulnScan
GitHub: loid122/VulnScan
基于MERN堆栈的自动化网络漏洞扫描器,用于识别和验证OWASP Top 10漏洞。
Stars: 0 | Forks: 0
## 漏洞扫描
基于MERN堆栈(Node.js + React)构建的自动化网络漏洞扫描器,旨在识别和验证传统和单页应用程序中常见的OWASP Top 10漏洞。
## 概述
VulnScanner是一款完全自动化的安全测试工具,它爬取网络应用程序,发现注入点,并测试SQL注入、跨站脚本(反射型与存储型)和命令注入。
它提供了详细的证据——原始HTTP请求/响应和带有视觉利用证明的截图,并使用AI验证层来减少误报。
该工具旨在用于教育目的,并可直接用于如DVWA、bWAPP和OWASP Juice Shop等故意具有漏洞的应用程序。
## 关键特性
智能爬取
使用无头Chrome(Puppeteer)渲染JavaScript密集型SPAs,提取表单、输入字段和查询参数(包括hash-fragment路由)。通过拦截表单提交自动发现API端点。
多向量测试
支持SQL注入(基于错误、基于布尔值、基于时间、登录绕过)、反射型与存储型XSS(具有独特的测试标记)和命令注入(基于echo和基于时间)。
有效载荷具有上下文感知性,检测依赖于差异分析(基线与注入)。
视觉证明与证据
每个发现都包括在利用时刻捕获的截图。
对于XSS,覆盖了原生的alert()以显示独特的红色横幅——确保截图总是包含不可否认的证明。
AI驱动验证
可以使用多模态LLM(通过OpenRouter)自动验证发现。AI检查截图和响应证据,以决定漏洞是否真实,调整置信度并添加解释性注释。
智能测试编排
一旦在给定页面上发现漏洞,将跳过该页面的后续测试类型——节省时间并减少噪音。
简单存储
所有发现都存储在本地JSON文件中(无需数据库),使工具轻量级且易于设置。
## 技术堆栈
层 技术
后端 Node.js, Express, Puppeteer, Cheerio, Axios, sharp
前端 React (Create React App), Axios
AI OpenRouter (Gemini Flash, GPT-4o-mini等)
存储 本地JSON文件
## 工作原理
用户输入——通过React UI,您提供目标URL和可选的会话cookie。
爬取阶段——Puppeteer渲染页面;Cheerio提取表单、输入字段和链接。基于hash的SPAs完全支持。
注入点发现——每个参数都被视为潜在的注入点,其他字段填充了现实默认值(包括提交按钮)。
漏洞测试——扫描器依次测试SQLi、存储型XSS、反射型XSS和命令注入。独特的标记保证了没有交叉污染。
证据收集——成功的利用触发截图(对于XSS,带有可见的警告横幅)并捕获原始HTTP请求/响应。
AI验证(可选)——扫描后,LLM审查每个发现并更新其置信度。
结果——发现实时显示在仪表板上,带有可展开的证据和AI裁决。
## 理想用例
CTF练习与安全培训——扫描DVWA、bWAPP或Juice Shop,了解漏洞是如何被检测和利用的。
演示/作品集项目——展示全栈开发、浏览器自动化和AI集成技能。
自定义扫描器的基座——易于通过添加新的测试模块扩展OWASP类别(例如,文件包含、IDOR)。
## 设置与运行
bash
```
# 后端
cd backend && npm install
node server.js
# 前端(在另一个终端中)
cd frontend && npm install && npm start
# 可选启动一个易受攻击的目标
docker run -d -p 80:80 vulnerables/web-dvwa
```
然后打开http://localhost:3000,输入目标URL(例如,http://localhost/vulnerabilities/sqli/),提供会话cookie,并开始扫描。
VulnScanner表明,现代网络漏洞扫描——通常被视为复杂的企业软件——可以从头开始使用一些开源库、清晰的架构和可选的AI安全网构建。
标签:MITM代理, 自定义脚本