Skip to content

duckpigdog/XMCVE-WebRecon

Repository files navigation

XMCVE-WebRecon

基于 Chrome Manifest V3 的前端安全辅助插件,面向 Web 安全测试场景,集成输入点发现、CSP 读取、资产嗅探、框架指纹、SQL HackBar、Vue 路由分析、JS 开关与 Fuzz 字典扫描等能力,帮助在合法授权范围内更高效地完成排查与验证

参考的插件

以下为功能交互思路层面的参考与借鉴:

  • HackBar(HackBar 交互与请求拼装思路)
  • Wappalyzer(前端技术栈/框架指纹思路)
  • VueCreak(Vue 路由守卫绕过)
  • FindSomething(从前端资源中提取接口、敏感信息)
  • 幻影(参数/路径字典探测的思路)
  • User-Agent Switcher(UA 快捷切换的思路)
  • Disable JavaScript(按站点开关 JS 的思路)
  • AntiDebug_Breaker(JS 逆向神器)

功能总览(按标签页)

信息收集

1) 指定 User-Agent

  • 预置 UA:iPhone Safari / Android Chrome / Windows Chrome
  • 应用并刷新:将 UA 应用于当前站点并刷新页面
  • 清除并刷新:恢复默认 UA 并刷新页面
  • 显示当前站点(SITE)与当前 UA

2) 敏感信息收集(深度嗅探)

  • 扫描资源:汇总当前页面 HTML 与已引用脚本 URL,并在后台抓取文本进行模式匹配
  • 输出类别(并附带来源文件与行号):
    • IP:端口、完整 URL、绝对路径(/api/...)、相对路径(./../...)
    • 域名、JWT、疑似 Key/Token、邮箱、手机号
    • 加密/算法关键词(AES/RSA/MD5/SHA256/bcrypt 等)
    • 敏感字段/凭据线索(password/token/access_token 等)
  • 导出:JSON / TXT / CSV / XLSX
    • 说明:XLSX 实际以 CSV 内容保存为 .xlsx,便于 Excel 直接打开

3) 框架指纹

  • 识别指纹:识别常见前端框架/库及版本线索(如 Vue/React/Angular/jQuery/Bootstrap 等)
  • 输出版本来源:优先从全局对象/特征字段推断,其次从脚本文件名等线索推断

4) 蜜罐识别

  • 检测蜜罐:对页面特征做快速检查,给出“可能存在蜜罐/无明显特征”的提示

5) Fuzz 扫描(字典探测)

用于基于字典批量探测资源/接口是否存在(以状态码与 Content-Length 作为线索),支持暂停/继续。

  • JS 文件 Fuzz
    • 字典:js.txt
    • 目标:常见脚本路径/文件名组合
  • API Fuzz
    • 字典:api.txt
    • 目标:常见接口路径
  • 接口 Fuzz
    • 字典:param.txt
    • 可填写 PATH:作为探测起点/前缀(例如 /web/pv
  • 结果展示
    • 状态码:常见关注 200 / 302 / 403
    • Size:从响应头 Content-Length 提取
    • 点击结果:在新标签打开对应 URL

XSS

1) 批量填充(快速验证)

  • 批量填充:向当前页(包含子 Frame)中的 input/textarea/select/[contenteditable] 写入测试载荷并触发事件(用于快速验证前端过滤/编码/拦截)
    • 内置测试载荷为固定字符串,便于快速回归与对比

2) CSP 读取

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

3) 安全线索面板(Security Container)

用于把“页面中能快速发现的风险线索”集中展示(示例包括):

  • HttpOnly Cookies:提示存在 HttpOnly Cookie
  • Storage Tokens:从 localStorage/sessionStorage 中检索 token/auth/jwt/sess/key 等关键词的条目
  • CSRF Tokens:从 meta 标签与隐藏字段中提取 csrf/token 相关线索
  • PostMessage:检测到 message 监听时给出提示
  • 关键接口/敏感操作:从页面中提取可能的关键接口/敏感操作线索并展示

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

用于结构化展示页面表单与字段,便于快速定位可控参数:

  • 跨 Frame 扫描表单
  • 展示:Frame 编号、Method、Action、Enctype
  • 字段列表:Field、Value、Type、Hidden 标记
  • 定位:点击“定位”联动到页面对应输入点并高亮

5) URL 参数提取

  • 提取参数:从当前标签页 URL 中拆分并展示:
    • Query 参数区
    • Hash 参数区
    • Path 参数区

6) 编码转换工具箱

  • HTML 实体:对 payload 做 HTML entity 编码
  • URL 编码:对 payload 做 URL 编码
  • 十六进制:生成十六进制转义形式
  • 结果以列表形式展示,便于复制与比对

SQL 注入(SQL HackBar)

用于快速构造并发送 HTTP 请求,配合“注入入口”做拼接/替换,辅助验证 SQLi 与边界行为。

  • 基础请求
    • METHOD:GET/POST/PUT/PATCH/DELETE
    • URL:目标 URL
    • 从当前页填充:自动填充当前标签页 URL 等基础信息
    • 发送请求:通过后台发起请求并回显结果(避免前端 CORS 限制)
  • 注入入口
    • ENTRY:URL 参数 / POST 表单 / JSON / Cookie / Header
    • KEY:要注入/替换的参数名
    • PAYLOAD:注入载荷
    • ACTIONS:追加 / 替换
  • 请求编辑区
    • Headers:自定义请求头
    • Cookie:自定义 Cookie
    • Body:支持 none / x-www-form-urlencoded / application/json / raw
    • TOOLS:复制 Curl、清空
  • Response 回显
    • Meta:状态码与耗时
    • Headers:响应头
    • Body:响应体(超长会截断标注)

Vue

用于快速判断站点是否使用 Vue,并尽可能拿到更具体的版本线索与路由 URL 清单,以及辅助绕过前端路由守卫。

  • 检测 Vue 版本:通过 DevTools App 与挂载 DOM 属性等方式识别 Vue 版本号(Vue2/3 均支持)
  • 导出路由:尝试从运行时路由器中导出路由并生成 URL 列表
  • 复制 URL 列表:将导出的 URL 列表复制到剪贴板
  • Open All:批量在新标签打开导出的 URL(用于在授权范围内做快速面巡/对比)
  • 绕过路由守卫:一键注入脚本拦截全局前置/解析守卫注册,缓解前端路由拦截(适合配合 DevTools 观察受保护路由)

JS 逆向

用于按站点开关 JavaScript,并注入多种 Anti-Debug 绕过脚本(便于观察 SSR 结果、降低前端干扰、辅助逆向分析与调试)。

  • SITE:当前站点
  • JS STATUS:当前 JS 开关状态
  • 禁用 JS:对当前站点禁用 JavaScript
  • 启用 JS:对当前站点恢复 JavaScript
  • 窗口尺寸检测绕过:冻结 innerWidth/innerHeight/outerWidth/outerHeight/visualViewport 等尺寸,拦截 resize 监听,绕过“窗口尺寸变化即检测调试器”的逻辑
  • 无限 Debugger 绕过:暴力清理已有定时器/动画帧,并 Hook setTimeout/setInterval/requestAnimationFrame,拦截包含 debugger 的任务(缓解“无限 debugger” 类反调试)
  • Eval Debugger 绕过:Hook evalFunction,以及定时器/RAF,将包含 debugger 负载的代码拦截或替换为空函数,降低混淆代码中的反调试影响
  • toString 环境检测绕过:通过隐藏 iframe 获取“干净环境”的 Function.prototype.toString,覆盖当前环境的实现,用于绕过对函数 toString() 的环境检测

团队招新

  • 关于 XMCVE:团队介绍
  • 招新方向:CTF 方向
  • 联系我们:邮箱/公众号等信息(输入框支持点击自动全选,便于复制)

安装

  1. 打开 chrome://extensions
  2. 开启右上角“开发者模式”
  3. 点击“加载已解压的扩展程序”,选择本项目目录(例如 d:\HackerTools\XMCVE-JS-Sec
  4. 固定扩展图标,便于随时打开弹窗

快速使用

  1. 打开目标站点,点击扩展图标
  2. “信息收集”中按需执行:UA 切换、敏感信息收集、指纹/蜜罐识别、Fuzz 探测
  3. “XSS”中按需执行:批量填充、读取 CSP、查看表单字段与 URL 参数
  4. “SQL 注入”中用 HackBar 构造请求、注入、复制 Curl,并查看响应
  5. “Vue”中检测版本并导出/复制/打开路由 URL
  6. “JS 逆向”中按站点禁用/启用 JS 辅助分析

权限说明

权限声明见 manifest.json:

  • activeTab:仅对当前激活标签页生效
  • scripting:向页面注入脚本以采集信息、执行定位高亮等操作
  • webRequest:读取响应头以获取 CSP(主框架与子框架)
  • cookies:读取 Cookie 信息以辅助安全线索展示(例如 HttpOnly 等)
  • contentSettings:按站点开关 JavaScript
  • declarativeNetRequest:配合网络规则控制(用于按站点策略控制类功能)
  • host_permissions: <all_urls>:允许在任意站点/子帧上执行采集与探测

目录与架构

  • manifest.json:MV3 配置、权限、后台与弹窗入口
  • background.js:响应头监听缓存 CSP;后台请求代理(SQL_FETCH);深度嗅探(DEEP_SNIFF)
  • content.js:页面内采集与定位能力(表单/字段/高亮)
  • popup.html:弹窗 UI(各模块布局与按钮)
  • popup.js:弹窗逻辑(各按钮行为、消息通信、导出与渲染)
  • style.css:弹窗样式
  • js.txt / api.txt / param.txt:Fuzz 扫描字典(可按需自行扩充)

注意事项

  • 仅用于合法授权的安全测试/内部自查环境
  • 资源嗅探/探测可能受同源策略、CSP、跨域响应头等影响,结果仅作线索参考
  • “Open All” 会批量打开标签页,建议在测试环境或小批量 URL 下使用

常见问题

  • 读取不到 CSP
    • 页面未设置 CSP 响应头;或需刷新页面后再读取
  • 资产嗅探结果为空
    • 页面资源较少、脚本受保护、或尚未加载完成;建议页面加载完成后再扫描
  • Vue 检测无版本号
    • 站点未暴露版本线索/生产构建去信息;可结合脚本文件名、sourcemap 等手段进一步分析

开发与修改

  • 本项目为纯静态 MV3 扩展,无需构建,加载目录即可使用
  • 修改后在 chrome://extensions 点击“重新加载”生效

版本与声明

  • 当前版本:1.0.0
  • 免责声明:本工具仅用于合法合规的渗透测试与安全研究,使用者对其行为与后果负责

About

基于 Chrome Manifest V3 的渗透测试辅助插件,用于快速发现页面输入点、评估 CSP 风险、嗅探潜在敏感资产、识别常见前端框架指纹,并内置常用编码转换工具,帮助进行合法合规的渗透测试与安全检查

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors