Vue路由守卫导致的越权

admin 2023年3月7日09:08:37评论172 views字数 1005阅读3分21秒阅读模式

 最近Src挖了不少的Vue框架的逻辑,本来想过段时间整合发的,但最近发生了一些事情,估计后面也没太多机会了...


描述: Vue框架是一款Web前后端分离的框架,他大部分时间处理的是动态路由的展示,"路由守卫"的概念也就由此而生。


  • Vue基础架构(引用Webpack打包器-打包)

  • Vue路由守卫(路由守卫未鉴权导致越权)

  • Vue路由菜单(路由菜单泄露后端接口)


0x00.Vue基础架构

     src/route/index.js  全局路由,Vue全部的路由路径

     src/view/main.js  布局文件 布局文件写好加到对应路由才有菜单显示

     src/view/http.js 布局文件,http部分,包含请求地址

Vue路由守卫导致的越权

    

   根据全局路由,就能获取到菜单的功能接口,路由结构均为name、path、componment和mata这四部分组成,子元素Children路径直接在父元素后拼接"/" 


 由上面的路径引入下面的路由守卫,未鉴权的越权

 路由守卫通常会写到permission.js或者routeright.js这类js里,通常路由守卫会判断是否有携带token,没有定向路由到/login

Vue路由守卫导致的越权

 

Vue路由守卫导致的越权

也就是说,登录后,路由守卫是没有对全局路由做鉴权的,,只做了token的鉴权;而加载全局路由是不走后端的,那么这就不存在权限校验,就容易越到管理权限


案例1:

  这是一个普通用户的Vue展示,写好的layout布局展示只有收藏、订单、积分以及应用这四个模块,

Vue路由守卫导致的越权


通过全局路由,管理模块userlist,url为"user"那么,拼接

Vue路由守卫导致的越权

越了,越了

Vue路由守卫导致的越权


/user/role

Vue路由守卫导致的越权


注意:

   但,这部分只是绕过了路由守卫,涉及到接口的类型,还是要后端鉴权的。

但是,前后端交互,接口的实现前端一定会有接口请求的点。Vue大部分都是"$axios.post" ,那么,就可以在app.xxxx.js包中快速找到未授权接口


Vue路由守卫导致的越权


    http.get 、post

常见的Userid越权

Vue路由守卫导致的越权


构造请求包访问一下

Vue路由守卫导致的越权


越了越了,,发现了一些彩蛋,

我们都知道,后端会对请求的接口做鉴权处理,但对请求的资源是不会拦截的,比如zip、fileid这些内容,这里就很容易出未授权文件下载


那么,比如一些水平越权后出现的一些资源,比如fileid,如下图

Vue路由守卫导致的越权


下载后还原为pdf格式


Vue路由守卫导致的越权


一些小结:

    先放这些吧,忙了。







原文始发于微信公众号(Qaseem安全团队):Vue路由守卫导致的越权

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月7日09:08:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Vue路由守卫导致的越权https://cn-sec.com/archives/1247905.html

发表评论

匿名网友 填写信息