vue漏洞

news/2025/10/5 14:27:38/文章来源:https://www.cnblogs.com/geee/p/19126565
  1. Vue 源码泄露(最常见低危→高危)
    原理:
    webpack 默认生成 .js.map,生产环境未关闭,可反编译还原完整源码,泄露接口、密钥、注释路径。
    黑盒特征:
    响应头 X-SourceMap: xxx.js.map 或 JS 末尾出现 //# sourceMappingURL=xxx.js.map
    URL 直接访问 /js/app.xxxxx.js.map 返回 200 且 Content-Type 为 application/octet-stream
    快速验证:
    bash
    复制
    curl -s https://target.com/js/app.12345.js | grep -ia "sourceMappingURL"

回显即存在;继续访问同目录 .map 文件可下载

扫描正则:\w+.js?\w.map$
修复:
productionSourceMap: false(vue.config.js)并删除服务器残留 .map 文件。
2. Vue Router 静态目录未授权(中危→高危)
原理:
前端路由表写死在 app.
.js 中,形如 {path:"/admin/user",component:xxx},未做后端鉴权即可直接访问组件对应业务接口。
黑盒特征:
URL 带 /#/ 或 /#/admin/xxx 即 Vue Hash 模式;JS 里搜索 path:" 可批量提取目录
拼接 /admin/user 等路径无需登录即可 200 返回数据或跳转后台页面
快速验证:
bash
复制
grep -Eo 'path:"[^"]+"' app.*.js | awk -F'"' '{print $2}' | sort -u > vue_routes.txt

结合 burp intruder 批量访问

  1. 模板注入 / XSS(高危)
    原理:
    v-html / {{{ 插值 或 v-text 输出未经转义的用户输入;服务端把用户数据直接注入到 HTML 片段再交给 Vue 挂载。
    黑盒特征:
    搜索框、富文本、邮件内容等区域提交 <svg/onload=alert(1)> 后,前端直接弹窗
    页面源码出现 {{{ 或 v-html= 且值来自请求参数
    快速验证:
    JavaScript
    复制
    '"><svg/onload=alert(document.domain)>
    {{constructor.constructor('alert(1)')()}}
    注意:Vue 3 默认转义,但仍会受服务端直出的 HTML 片段污染。
  2. 样式注入+点击劫持(中危)
    原理:
    :style="userProvidedStyles" 或后台返回的 style 字段可注入 position:fixed 覆盖登录按钮。
    黑盒特征:
    提交 {"color":"red","position":"fixed","top":"0","left":"0","z-index":"9999","background":"rgba(0,0,0,0)"} 后整页被透明层覆盖
    审查元素可见
    修复:
    使用白名单对象写法 :style="{color: userColor}",或把用户区放入 sandbox iframe。
  3. 正则拒绝服务 ReDoS(CVE-2024-9506,低版本 DoS)
    影响版本:Vue 2.0.0–3.0.0(@vue/compiler-core)
    原理:
    parseHTML 使用贪婪正则解析模板,构造 {{'a'.repeat(10000)+'!'}} 类 payload 可让浏览器/Node 进程 CPU 100%。
    黑盒特征:
    提交极长模板字符串后,页面卡死或 SSR 服务超时
    无错误回显,但响应时间 TTFB 明显飙升
    快速验证:
    JavaScript
    复制
    const evil = '{{' + 'a'.repeat(50000) + '!}}';
    // 通过评论、富文本、Markdown 存储后让 Vue 二次渲染
    修复:升级至 Vue 3.0.1+、2.7.16+。
  4. 组件间数据污染 / Props 注入(逻辑漏洞)
    原理:
    子组件直接修改 Object props,父级数据被同步篡改;若 props 控制权限标志,可越权。
    黑盒特征:
    修改子组件表单后,未调用接口却出现“保存成功”或权限菜单变化
    控制台 Vue-DevTools 可见 mutating props 警告
    利用:
    把回传对象增加 {"role":"admin"} 等字段观察 UI 变化。
  5. 事件绑定注入(XSS 变种)
    原理:
    后台返回
  6. 服务端渲染(SSR)上下文污染(高危)
    原理:
    context.state = JSON.stringify(window.INITIAL_STATE) 未转义 导致 XSS。
    黑盒特征:
    查看源码 window.INITIAL_STATE = {"userInput":"<svg/onload=alert(1)>"}
    直接提交 <svg/onload=alert(1)> 作为任何字段值,刷新页面即弹窗。
  7. 开源脚手架历史漏洞(RuoYi-Vue ≤3.2.0)
    任意文件下载 /common/download/resource?name=../../../etc/passwd
    接口无前缀、无鉴权,可直接 GET 下载服务器任意文件
  8. 工具&扫描插件推荐
    Wappalyzer / WhatRuns:快速识别 Vue + webpack
    burp-HAE:自带 .js.map 指纹,自动下载并反编译
    reverse-sourcemap:npx reverse-sourcemap -v xxx.js.map -o src
    vue-pen-test-checklist:社区维护的 payload 集合
    https://github.com/danielmiessler/vppt
    速查 payload 小结
    xxx.js.map → 源码泄露
    /#/admin、/#/user、/#/manage → Hash 路由未授权
    {{constructor.constructor('alert(1)')()}} → 模板注入
    "><svg/onload=alert(1)> → v-html / 行内事件 XSS
    'a'.repeat(50000)+'!' → ReDoS
    {"role":"admin"} → Props 数据污染
    name=../../../etc/passwd → RuoYi 任意文件下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安居客网站应该如何做如何对产品进行推广

观看视频前&#xff0c;请先点击上面的蓝色字“杨式太极拳习练之家教学视频"再点击“关注”&#xff0c;这样您就可以继续免费收到太极拳剑相关教学视频了。加关注后&#xff0c;再【点击】上面的蓝色字“杨式太极拳习练之家教学视频"&#xff0c;进入到“杨式太极拳…

网站第一开在浏览器中打开慢的原因

发现有两个地方可能导致网页第一次在浏览器中打开慢。什么是第一次打开慢?测试的前提是,要先清空浏览器的缓存数据,然后重启浏览器手动输入域名测试。主要在 edge中测试。第一个地方 请求的数据太多 dh.xxxxx.com的…

1.Android Compose 基础系列:您的第一个 Kotlin 程序

1.Android Compose 基础系列:您的第一个 Kotlin 程序本系列文章将用通俗易懂的方式,带你入门使用 Jetpack Compose 进行 Android 应用开发。从 Kotlin 基础语法讲起,逐步构建属于你的第一个 Compose 项目。✨ 简介 …

蓬莱市住房和规划建设管理局网站做微信推送网站

物联网是当前非常火热的话题&#xff0c;各个行业对物联网的关注和投入力度也很大&#xff0c;一些互联网巨头都在紧锣密鼓的布局物联网产业&#xff0c;抢占市场先机。 物联网的整体构架大致可以分为以下四个层面&#xff1a; 1.感知识别层 感知层是物联网整体架构的基础&…

什么网站做蔬菜生鲜比较好建设银行泰安分行网站

当前电脑主要配件的批发价&#xff0c;不面向零售哦&#xff01;下面给大家介绍一下想获得详细报价&#xff0c;持续为您更新想了解电脑系统重装请回复&#xff1a;重装系统电脑由于windows10更新卡顿请回复&#xff1a;windows 10笔记本电脑购买常识请回复&#xff1a;笔记本电…

[JVM] JVM内存调优 - 教程

[JVM] JVM内存调优 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

网站设计说明wordpress网站搭建

苹果 iOS 18 系统将为 AirPods Pro 2 用户带来一项实用功能 —— 更精细的“自适应音频”控制。AirPods Pro 2 的“自适应音频”功能包含自适应降噪、个性化音量和对话增强等特性&#xff0c;可以根据周围环境自动调节声音和降噪效果。 当更新至最新测试版固件的 AirPods Pro 2…

英文网站建设合同北京网站搭建服务

一、简介 Visual chatGPT Studio 是 Visual Studio 的一个免费扩展&#xff0c;它直接在 IDE 中添加了 chatGPT 功能。它允许用户以可以根据菜单功能的方式使用 chatGPT。 二、功能介绍 该扩展提供了一组使用 ChatGPT 命令&#xff0c;可以在编辑器中选择你需要处理的代码或…

在MyBatis中collection属性的命名规则主要取决于传入参数的类型

在MyBatis中collection属性的命名规则主要取决于传入参数的类型 命名规则‌单参数为List/Set/数组时‌默认使用"list"作为collection的值,例如传入List<String>类型参数时,collection="list&qu…

全面解析DoS攻击防护与应对策略

本文深入解析DoS攻击的工作原理、三种主要攻击类型及其后果,详细介绍风险评估、攻击面缩减等预防措施,并阐述第三方防护服务与工具的应用方案,帮助企业构建完整的DDoS防护体系。如何防范DoS攻击及遭遇攻击时的应对措…

day16 课程(面向对象三大特性:继承 多态 属性)

day16 课程(面向对象三大特性:继承 & 多态 & 属性)课程: 16.1 了解面向对象三大特性------------------------------------------------ 执行后————————————————————————————…

毕业设计博客网站开发wordpress多重筛选主题

简介进程与线程是所有的程序员都熟知的概念&#xff0c;简单来说进程是一个执行中的程序&#xff0c;而线程是进程中的一条执行路径。进程是操作系统中基本的抽象概念&#xff0c;本文介绍 Linux 中进程和线程的用法以及原理&#xff0c;包括创建、消亡等。进程创建与执行Linux…

C++ Vector算法精讲与底层探秘:从经典例题到性能优化全解析 - 指南

C++ Vector算法精讲与底层探秘:从经典例题到性能优化全解析 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &quo…

20250919_QQ_ICMP

流量分析,ICMP,pysharkTags:流量分析,ICMP,data_len,pyshark 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:20250919_QQ_ICMP.zip 0x01. WP 1. 流量…

手机站点昆明手机网站建设

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为跨语言知识图谱问答。来源&#xff1a;CIKM’2018链接&#xff1a;http://delivery.acm.org/10.1145/3280000/3271704/p247-guan.pdf?ip121.249.15.96&id3271704&accACTIVE%20SERVICE…

福建中江建设公司网站手机会员卡管理系统

文章目录 写在前面Tag题目来源题目解题解题思路方法一&#xff1a;双指针方法二&#xff1a;动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对…

对于做网站有什么要求wordpress恢复主题

一、fprintf 函数描述 fprintf其作用是格式化打印&#xff0c;也叫格式化输出&#xff0c;可以指定输出到一个流文件中&#xff0c;即相输出流中写入数据。fprintf()函数根据指定的格式(format)&#xff0c;向输出流(stream)写入数据(argument)。fprintf( )会根据参数format 字…

Java求职面试:从Spring到微服务的技术挑战 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做团购网站需要什么威海网站建设威海

SpringBoot教程(十五) | SpringBoot集成RabbitMq RabbitMq是我们在开发过程中经常会使用的一种消息队列。今天我们来研究研究rabbitMq的使用。 rabbitMq的官网&#xff1a; rabbitmq.com/ rabbitMq的安装这里先略过&#xff0c;因为我尝试了几次都失败了&#xff0c;后面等我…

2025CSP-S模拟赛59 比赛总结

2025CSP-S模拟赛59T1 T2 T3 T480 WA 20 WA 0 TLE 20 WA总分:120;排名:6/25。 这场比较刺激。T1 其实 A 了,但是忘记特判 \(n=1\) 挂了 20pts。