找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3558

积分

0

好友

474

主题
发表于 3 小时前 | 查看: 4| 回复: 0

项目地址:https://github.com/duckpigdog/XMCVE-WebRecon

项目概述

XMCVE-WebRecon 是一款基于 Chrome Manifest V3(MV3)架构的集成化 渗透测试 辅助插件,由星盟安全团队开发维护。该插件面向 Web 渗透测试与安全研究场景,深度整合了信息收集、漏洞验证、框架分析和逆向辅助等能力,旨在减少测试过程中多工具切换的碎片化操作,提升排查与验证效率。

核心理念:在合法授权范围内,以浏览器扩展形式打造 “All-in-One” 前端安全测试工作台,覆盖从信息收集到漏洞验证的完整测试链路。

核心文件架构

文件/目录 类型 职责说明
manifest.json 配置文件 MV3 配置、权限声明、后台与弹窗入口定义
background.js Service Worker 响应头监听与 CSP 缓存、后台请求代理(SQL_FETCH)、深度嗅探(DEEP_SNIFF)
content.js 内容脚本 页面内 DOM 采集与定位能力(表单扫描、字段高亮、元素定位)
popup.html 弹窗 UI 各功能模块的布局结构与交互按钮
popup.js 弹窗逻辑 按钮行为绑定、消息通信、数据导出与界面渲染
style.css 样式表 弹窗视觉样式与布局控制
js.txt / api.txt / param.txt 字典文件 Fuzz 扫描使用的内置字典(支持自定义扩充)

功能模块详解

插件采用标签页式布局,将功能划分为六大核心模块。

信息收集模块

User-Agent 控制

  • 预置规则库:内置 iPhone Safari、Android Chrome、Windows Chrome、iOS、荣耀、华为 nova、OPPO、小米等主流设备的 UA。
  • 动态注入:通过 declarativeNetRequest 修改请求头,支持 “应用并刷新” 与 “清除并恢复”。
  • 状态显示:实时展示当前站点(SITE)与当前生效的 UA 字符串。

敏感信息深度嗅探

  • 技术实现:后台抓取当前页面 HTML 及所有引用脚本资源,进行多模式正则匹配。

识别类别

  • 网络资产:IP:端口、完整 URL、绝对路径(如 /api/...)、相对路径(如 ./../...)、域名
  • 凭证线索:JWT Token、疑似 Key/Token、邮箱、手机号
  • 加密算法关键词:AES、RSA、MD5、SHA256、bcrypt 等
  • 敏感字段:password、token、access_token 等凭据线索

输出特性

  • 附带来源文件 URL 与行号定位
  • 支持导出为 JSON、TXT、CSV、XLSX 格式(注:XLSX 实际为 CSV 内容保存为 .xlsx 扩展名,便于 Excel 直接打开)

框架指纹识别

  • 识别对象:Vue、React、Angular、jQuery、Bootstrap 等常见前端框架/库
  • 版本推断:优先从全局对象(如 Vue.versionReact.version)与特征字段推断,其次从脚本文件名、CDN 路径等线索推断版本号

蜜罐识别

  • 基于页面特征进行启发式检测,输出 “可能存在蜜罐” 或 “无明显特征” 的风险提示,辅助测试人员规避陷阱。

Fuzz 字典扫描

技术特点:基于字典批量探测资源/接口存在性,以状态码与 Content-Length 作为判断线索,支持暂停/继续控制。

扫描类型 字典文件 探测目标 关注状态码
JS 文件 Fuzz js.txt 常见脚本路径/文件名组合 200 / 302 / 403
API Fuzz api.txt 常见 RESTful 接口路径 200 / 302 / 403
接口 Fuzz param.txt 参数/路径组合 200 / 302 / 403

交互设计:结果支持点击在新标签页打开对应 URL,便于快速验证。


XSS 辅助模块

批量填充(快速验证)

  • 覆盖范围:当前页及所有子 Frame 中的 inputtextareaselect[contenteditable] 元素
  • 测试载荷:内置固定字符串载荷,统一写入并触发输入事件,用于快速验证前端过滤、编码或 WAF 拦截规则
  • 回归测试:固定载荷便于多次测试结果对比

CSP 读取与分析

  • CSP 提取:从后台缓存的响应头中读取 Content-Security-Policy(覆盖主文档与子帧),并拆分展示各策略项
  • Cookie 安全分析
    • 解析 Set-Cookie 响应头,区分 HttpOnly / 非 HttpOnly Cookie
    • 读取前端 document.cookie,展示页面当前前端可见的 Cookie 条目
    • 辅助判断 Cookie 窃取风险与前端可见性边界

安全线索面板(Security Container)

集中展示页面中快速可发现的风险线索:

线索类型 检测方式 安全意义
HttpOnly Cookies 响应头解析 标识受保护 Cookie,评估窃取难度
Storage Tokens 检索 localStorage/sessionStorage 中 token/auth/jwt/sess/key 关键词 发现前端存储的敏感凭证
CSRF Tokens 提取 meta 标签与隐藏字段中的 csrf/token 线索 评估 CSRF 防护机制
PostMessage 检测 message 事件监听 识别潜在的 PostMessage 安全风险
关键接口/敏感操作 从页面文本中提取敏感操作线索 快速定位高风险功能点

表单/输入点分析(Forms Container)

  • 跨 Frame 扫描:递归遍历所有 Frame 中的表单元素
  • 结构化展示:Frame 编号、Method、Action、Enctype、字段列表(Field、Value、Type、Hidden 标记)
  • 定位交互:点击 “定位” 按钮联动到页面对应输入点并高亮显示,快速定位可控参数

URL 参数提取

  • Query 参数区:解析 ? 后的键值对
  • Hash 参数区:解析 # 后的片段参数
  • Path 参数区:识别 RESTful 风格的路径参数

编码转换工具箱

  • HTML 实体编码:将 Payload 转换为 <> 等实体形式
  • URL 编码:标准 percent-encoding 编码
  • 十六进制转义:生成 \x41\x42 形式的十六进制转义字符串
  • 结果展示:列表形式并列展示,便于复制与多方案比对

SQL 注入模块(SQL HackBar)

该模块提供完整的 HTTP 请求构造与发送能力,辅助验证 SQL 注入及边界行为。

基础请求构造

  • 方法支持:GET、POST、PUT、PATCH、DELETE
  • 智能填充:支持从当前标签页自动填充 URL 等基础信息
  • 后台代理:通过 background.js 发起请求,绕过前端 CORS 限制

注入入口配置

配置项 选项 说明
ENTRY URL 参数 / POST 表单 / JSON / Cookie / Header 指定注入点位置
KEY 自定义 要注入/替换的参数名
PAYLOAD 自定义 注入载荷
ACTIONS 追加 / 替换 选择参数处理方式

请求编辑区

  • Headers:自定义请求头(支持多行键值对)
  • Cookie:自定义 Cookie 字符串
  • Body:支持 none、x-www-form-urlencoded、application/json、raw 四种格式
  • 工具按钮:复制为 Curl 命令、清空表单

Response 回显

  • Meta 信息:状态码与请求耗时
  • Headers:完整响应头展示
  • Body:响应体内容(超长自动截断并标注)

Vue 分析模块

专门针对 Vue 技术栈的深度分析工具:

  • 版本检测:通过 DevTools App 全局对象与挂载 DOM 属性(__VUE____vue_app__ 等)识别 Vue 版本号,支持 Vue 2 与 Vue 3
  • 路由导出:尝试从运行时路由器(vue-router)实例中导出完整路由表,并生成可访问的 URL 列表
  • 批量操作:支持将 URL 列表复制到剪贴板,或一键批量在新标签页打开(适用于授权范围内的快速面巡)
  • 路由守卫绕过:一键注入脚本拦截全局前置守卫(beforeEach)与解析守卫(beforeResolve)的注册,缓解前端路由拦截,便于配合 DevTools 观察受保护路由

JS 逆向模块

提供 JavaScript 逆向分析辅助能力。

JS 开关控制

  • 按站点粒度:基于 contentSettings API 对当前站点禁用/启用 JavaScript
  • 状态显示:实时展示当前站点的 JS 开关状态
  • 应用场景:禁用 JS 后观察 SSR 渲染结果,或降低前端逻辑干扰

反调试绕过脚本

绕过类型 技术实现 对抗目标
窗口尺寸检测绕过 冻结 innerWidth/innerHeight/outerWidth/outerHeight/visualViewport,拦截 resize 监听 “窗口尺寸变化即检测调试器”逻辑
无限 Debugger 绕过 暴力清理已有定时器/动画帧,Hook setTimeout/setInterval/requestAnimationFrame,拦截含 debugger 的任务 无限 debugger 循环反调试
Eval Debugger 绕过 Hook evalFunction 构造器,拦截含 debugger 负载的代码执行 混淆代码中的动态反调试
toString 环境检测绕过 通过隐藏 iframe 获取 “干净环境” 的 Function.prototype.toString,覆盖当前环境实现 函数 toString() 环境指纹检测

核心流程与交互设计

消息通信机制

插件采用 Chrome Extension 标准的消息通信模式:

popup.js <--(chrome.runtime.sendMessage)--> background.js
   |
   |--(chrome.tabs.sendMessage)--> content.js (页面 DOM 操作)

深度嗅探流程

  1. popup.js 发送 DEEP_SNIFF 消息至 background.js
  2. background.js 获取当前标签页 ID,注入 content.js 提取页面 HTML 与所有脚本 URL
  3. 后台通过 fetch 抓取脚本资源内容
  4. 执行多模式正则匹配,分类提取敏感信息
  5. 返回结果至 popup.js 渲染,支持导出

SQL 请求代理流程

  1. 用户在 SQL HackBar 构造请求
  2. popup.js 发送 SQL_FETCH 消息至 background.js
  3. background.js 使用 fetch 在后台发起请求(绕过前端 CORS)
  4. 返回响应数据至弹窗展示

安装与部署

环境要求

  • 浏览器:支持 Manifest V3 的 Chromium 内核浏览器(Chrome 88+、Edge 88+ 等)
  • 系统:Windows、macOS、Linux 均可

安装步骤

  1. 下载项目源码至本地目录(如 D:\HackerTools\XMCVE-WebRecon
  2. 打开浏览器扩展管理页面:chrome://extensions
  3. 开启右上角 “开发者模式”
  4. 点击 “加载已解压的扩展程序”,选择项目目录
  5. 固定扩展图标至工具栏,便于随时调用

如果你对渗透测试及其他安全技术感兴趣,欢迎来 云栈社区 与更多同行交流。




上一篇:Zephyr 下 ESP32S3 镜像加载与启动流程深度解析
下一篇:突发!Linux内核0day漏洞“Copy Fail”曝光:潜伏9年可获取Root权限
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-5-1 21:55 , Processed in 0.628631 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表