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代理, 自定义脚本