Vue 前端鉴权绕过实战技巧,详解路由守卫漏洞原理,手把手挖掘站点未授权访问
0x01 简介当下大量教育类站点基于 Vue 开发开发者常将路由鉴权仅部署在前端守卫中依赖本地 Token 做页面访问控制缺失后端接口校验存在严重逻辑缺陷。本文依托 FOFA 精准测绘 EDU 资产搭配专用浏览器插件解析路由与隐藏接口结合多起真实实战案例完整演示前端鉴权绕过、后台未授权闯入、XSS 漏洞构造、文件上传覆盖、Swagger 接口越权等全套挖掘手法拆解 Vue 站点常见安全短板与利用思路。本文仅用于技术学习与合规交流严禁非法滥用。因违规使用产生的一切后果由使用者自行承担与作者无关。现在只对常读和星标的才展示大图推送建议大家把渗透安全HackTwo“设为星标”否则可能就看不到了啦末尾可领取挖洞资料/加圈子 #渗透安全HackTwo0x02 正文详情工具与插件准备无需复杂搭建环境仅需两款浏览器插件即可开展测试AntiDebug_Breaker基于 HookJS 开发用于前端 JS 逆向、反调试绕过和渗透信息收集。Vue 路由分析插件专门解析 Vue 站点路由结构绕过路由守卫快速发现隐藏后台接口与未授权路径。配合 FOFA 测绘、无影资产探活工具即可批量筛选目标资产。资产信息收集采用 FOFA 专属测绘语法精准定位教育网 Vue 资产orgChina Education and Research Network Center icon_hash-1252041730筛选出教育网机构资产依靠 Vue 图标特征锁定框架站点导出资产后用无影工具批量探活、页面截屏从截图中挑选后台、登录类页面作为测试目标。插件AntiDebug_Breaker本插件是基于Hook_JS库所写的Google插件将致力于辅助前端JavaScript逆向以及渗透测试信息收集。https://pan.quark.cn/s/102b694ddb11插件VueCrack这是一个专为红队人员开发的浏览器插件用于分析Vue框架网站的路由结构并绕过路由守卫从而发现站点的隐藏资产与未授权访问漏洞。具体插件使用看对应的readme就行。信息收集因为我们要打vue组件直接找对应的组件就ok我这里使用fofa的这个语法来测绘orgChina Education and Research Network Center icon_hash-1252041730org #指定机构是eduicon_hash #根据图标指定是vue组件把资产给导出来然后丢到无影里面探活并且截屏我们根据截屏的内容选择简单的进行测试即可。漏洞挖掘案例1通过截图发现这个登录框刚开始需要登录试了几个弱口令没结果因为我们找的都是vue组件的资产所以直接使用插件vuecrack看看接口发现一个管理接口/adminxxxxx 但是直接访问会跳转到登录页面配合另一个插件清除跳转进行测试成功未授权访问到这个页面除了用户管理其他功能都点击不了点击用户管理可以看到这个- 新增用户输入符合规则的用户名和密码成功创建用户成功回到登录页面输入我们创建的用户成功登录后续可以对系统的其他功能进行操作比如服务管理这里可以重启停止相关接口还可以增删改查各种服务ai相关服务以及备份清除备份等操作成功利用未授权从0-1实现对系统的简单测试。案例2继续找资产进行测试锁定到了这个页面我们直接看插件接口发现有很多直接一个一个点击进行查看就行或者有师傅写了每隔一段时间自动跳转的脚本可以自行查阅一手。这里接口不多直接手工测试。经过一番点点点发现这个页面可以添加热点问题我们添加一个测试问题发现确实可以添加成功本着有框就插的原则测试一下xss漏洞这里不要弹窗容易出问题因为我们只能添加热点问题的权限而没有删除权限。点击保存成功添加但是发现有的解析了有的没解析所以给每个框都插一下是最好的测试方法。pocimg srcx onerrorconsole.log(1)右键F12查看控制台发现可以成功打印其他页面测试方法也是同理不在一一进行说明案例3继续测试看到这个页面看起来像是静态的我们直接查看插件从插件里面找到了/upload这个接口访问之后是这样的我们上传图片进行测试发现返回了路径但是根据这个名字应该是被上传到桶里面了修改后缀为.html进行上传看能不能水一个xss结果不太行能上传但是访问之后会被下载下来我们添加这个自定义响应解析方式进行测试?response-content-typetext/html某些情况会被解析比如这个案例但是这里不太行会提示匿名用户没有修改content-type的修改操作权限这里既然有云桶的地址了对云桶相关的漏洞可以测试一下这里都是没有的对桶做了严格的限制。继续回到刚才的上传包发现上传之后名字是不变的访问之后是这个不要修改名字修改上传内容进行上传看能否进行覆盖再次进行访问成功进行覆盖。。正常情况这个站点的测试已经结束了但是插件给我扫到了一个swagger页面这种接口也好测试可以利用工具比如apihunter这些也可以利用插件apikit之类的我这里手工进行测试几个证明危害一个接口就是一个功能重点找用户相关上传相关管理相关的这种测试就行。创建用户测试输入符合规则的信息就行使用删除用户接口对我们刚才创建的用户进行删除进行危害证明发现可以成功删除这里删除用户是通过用户名来进行鉴权的也就是说可以通过fuzz用户名删除整个系统的所有用户。我们在遇到了这个swagger页面的时候不要只是测试接口针对edu是可以这么做的因为edu不收domxss,但是项目或者众测src啥的一定要试试这个domxss的相关测试poc?configUrl https://xss.smarpo.com/test.json /swagger-ui.html?configUrlhttps://jumpy-floor.surge.sh/test.json /swagger-ui.html?urlhttps://jumpy-floor.surge.sh/test.json /swagger-ui.html?configUrldata:text/html;base64,ewoidXJsIjoiaHR0cHM6Ly9leHViZXJhbnQtaWNlLnN1cmdlLnNoL3Rlc3QueWFtbCIKfQ其他测试不在一一说明0x03 总结Vue 框架属实是前端鉴权的 “重灾区”不少开发者把权限全堆在前端路由里只靠个 Token 就想把门看好纯属自欺欺人。随便控制台造个假 Token、用上 Vue 专用插件就能轻松绕过路由守卫。教育网 EDU 资产里这类漏洞遍地都是既能溜进后台瞎逛、新建账号还能挖到 XSS、上传覆盖、接口越权等问题薅漏洞简直一挖一个准。。最后愿各位师傅在后续挖洞之路中精准定位漏洞、高效挖掘天天出高危、次次有收获挖洞顺利、不踩坑、多拿奖励共同提升支付业务安全测试能力喜欢这类文章或挖掘SRC技巧文章师傅可以点赞转发支持一下谢谢