最近Src挖了不少的Vue框架的逻辑,本来想过段时间整合发的,但最近发生了一些事情,估计后面也没太多机会了...
描述: Vue框架是一款Web前后端分离的框架,他大部分时间处理的是动态路由的展示,"路由守卫"的概念也就由此而生。
-
Vue基础架构(引用Webpack打包器-打包)
-
Vue路由守卫(路由守卫未鉴权导致越权)
-
Vue路由菜单(路由菜单泄露后端接口)
0x00.Vue基础架构
src/route/index.js 全局路由,Vue全部的路由路径
src/view/main.js 布局文件 布局文件写好加到对应路由才有菜单显示
src/view/http.js 布局文件,http部分,包含请求地址
根据全局路由,就能获取到菜单的功能接口,路由结构均为name、path、componment和mata这四部分组成,子元素Children路径直接在父元素后拼接"/"
由上面的路径引入下面的路由守卫,未鉴权的越权
路由守卫通常会写到permission.js或者routeright.js这类js里,通常路由守卫会判断是否有携带token,没有定向路由到/login
也就是说,登录后,路由守卫是没有对全局路由做鉴权的,,只做了token的鉴权;而加载全局路由是不走后端的,那么这就不存在权限校验,就容易越到管理权限
案例1:
这是一个普通用户的Vue展示,写好的layout布局展示只有收藏、订单、积分以及应用这四个模块,
通过全局路由,管理模块userlist,url为"user"那么,拼接
越了,越了
/user/role
注意:
但,这部分只是绕过了路由守卫,涉及到接口的类型,还是要后端鉴权的。
但是,前后端交互,接口的实现前端一定会有接口请求的点。Vue大部分都是"$axios.post" ,那么,就可以在app.xxxx.js包中快速找到未授权接口
http.get 、post
常见的Userid越权
构造请求包访问一下
越了越了,,发现了一些彩蛋,
我们都知道,后端会对请求的接口做鉴权处理,但对请求的资源是不会拦截的,比如zip、fileid这些内容,这里就很容易出未授权文件下载
那么,比如一些水平越权后出现的一些资源,比如fileid,如下图
下载后还原为pdf格式
一些小结:
先放这些吧,忙了。
原文始发于微信公众号(Qaseem安全团队):Vue路由守卫导致的越权
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论