[代码审计]jeecg-boot最新权限绕过漏洞分析及新绕过发现

jeect-boot RCE漏洞(CVE-2023-4450) JeecgBoot 是一个开源的低代码开发平台,Jimureport 是低代码报表组件之一。当前漏洞在 1.6.1 以下的 Jimureport 组件库中都存在,由于未授权的 API`/jmreport/queryFieldBySql`使用了 freemarker 解析 SQL 语句从而导致了 RCE 漏洞的产生。 阅读详情

如果觉得该文章有帮助的,麻烦师傅们可以搜索下微信公众号:良月安全。点个关注,感谢师傅们的支持。

免责声明

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

前言

起因是看到都在流传/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参数参数造成的权限绕过。至于其他两处位置就放在星球的分析文章中。

POST /jeecg-boot/jmreport/queryFieldBySql?previousPage=xxx&jmLink=YWFhfHxiYmI=&token=123123 HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html)
Accept: */*
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive
Content-Type: application/json
Cache-Control: no-cache
Pragma: no-cache
Host: 192.168.131.100:8088
Content-Length: 21

{"sql":"select '1' "}

结语

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

Jeecg-Boot权限绕过漏洞深度剖析:从路径标准化到防御加固 权限校验是Web应用安全的核心机制,其原理在于通过过滤器与拦截器链,在请求到达业务逻辑前验证用户身份与访问权限。Spring Security等框架为此提供了基础支持,其技术价值在于构建细粒度的访问控制,保障企业级应用的数据与功能安全。然而,实现层面的细节疏漏,如路径解析不一致、拦截器链配置错误或注解校验缺失,可能导致严重的权限绕过风险。本文以流行的低代码开发平台Jeecg-Boot为例,结合路径标准化和拦截器链等热词,深入探讨权限校验机制因路径处理失配、多重校验逻辑缺陷而被绕过的具体场景与成因,并给出统一 阅读详情

相关推荐

Jeecg-Boot积木报表权限绕过漏洞深度剖析与修复指南

权限控制是Web应用安全的核心机制,其原理在于通过身份认证与授权校验,确保用户只能访问其被许可的资源。在基于角色的访问控制(RBAC)模型中,权限校验的缺失或逻辑缺陷极易引发越权访问漏洞,此类漏洞在OWASP Top 10中持续占据重要位置,对数据安全构成严重威胁。从技术价值看,深入理解越权漏洞的成因,能有效指导开发者在服务端实施强制、全面的校验策略,遵循“默认拒绝”原则,从而构建更稳固的应用安全防线。在低代码开发平台等快速构建的业务系统中,内置组件的权限校验逻辑往往是安全审计的关键点。本文以企业级应用广泛

weixin_26642481的博客 307

CVE-2023-1454注入分析复现

JeecgBoot的代码生成器是一种可以帮助开发者快速构建企业级应用的工具,它可以通过一键生成前后端代码,无需写任何代码,让开发者更多关注业务逻辑。

蚁景网安学院 2483

JeecgBoot权限绕过与AviatorScript表达式注入漏洞深度剖析

在Web应用开发中,权限控制与输入验证是保障系统安全的两大基石。权限控制通常依赖安全框架(如Shiro、Spring Security)的拦截规则与注解配置,其核心原理是基于URL匹配与角色/权限标识进行访问决策。若配置不当(如通配符过度放行、注解遗漏),会导致权限绕过,使得未授权用户能访问受保护接口。表达式注入则属于代码注入漏洞的一种,当用户输入被直接传递给表达式引擎(如AviatorScript)执行时,攻击者可构造恶意表达式访问Java运行时环境,实现远程代码执行(RCE),其技术价值在于揭示了动态功

dezhen7015的博客 335

Jeecg-Boot /jeecg-boot/jmreport/qurestSql接口sql注入漏洞复现

JeecgBoot 前台接口SQL注入漏洞

weixin_45908624的博客 4470

Jeecg漏洞总结及tscan poc分享

jeecgboot是一款基于代码生成器的低代码开发平台,集成完善的工作流、表单、报表、大屏的平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,成熟的微服务解决方案。 最近的攻防演练中经常遇到部署该服务的系统,而且大部分都有可利用的漏洞点,故整理一篇漏洞总结文章方便日后查阅,并且根据tscan脚本规则编写了其中一部分的poc。

YJ_12340的博客 4196

Jeecg-Boot 存在前台SQL注入漏洞【CVE-2023-1454】

eecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更多关注业务,既能快速提高效率,节省研发成本,同时又不失灵活性!

holyxp的博客 5955

[代码审计]jeecg-boot最新权限绕过漏洞分析及新绕过发现_jeecg-boot 漏洞

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

baimao__Ch的博客 1822

JeecgBoot 远程命令执行漏洞:网络安全分析

为了保护应用程序和服务器的安全,开发者应该采取适当的安全措施,如输入验证和过滤、使用安全的API、文件上传验证、最小权限原则和及时更新。然而,在早期版本的JeecgBoot中存在一个远程代码执行漏洞,该漏洞可能导致攻击者执行任意系统命令,进而危及整个应用程序和服务器的安全。远程代码执行漏洞是Web应用程序中常见的安全漏洞之一,它允许攻击者通过恶意构造的输入来执行任意的系统命令,从而导致潜在的安全风险。输入验证和过滤:对于用户的输入,特别是涉及到执行系统命令的地方,应该进行充分的验证和过滤。

YtyVerilog的博客 1760

[漏洞复现]JeecgBoot AviatorScript表达式注入漏洞复现

[漏洞复现]JeecgBoot AviatorScript表达式注入漏洞复现

LiangYueSec的博客 2890

JeecgBoot 权限绕过致AviatorScript表达式注入漏洞复现

JeecgBoot 存在权限绕过漏洞,未经身份验证的远程攻击者可构造jmLink、sharetoken参数或JmReport-Share-Token请求头绕过权限认证访问后台接口,进一步深入利用可实现远程代码执行、木马植入,导致服务器失陷等问题。

0xSec 2014

Jeecg-Boot 存在前台SQL注入漏洞(CVE-2023-1454)

jeecg-boot 3.5.0版本存在SQL注入漏洞,该漏洞源于文件 jmreport/qurestSql 存在安全问题, 通过参数 apiSelectId 导致SQL注入。

nnn2188185的博客 7058

Jeecg-Boot 未授权SQL注入漏洞(CVE-2023-1454)

原创文章创作不易,个人博客charis3306.top。

qq_27536045的博客 6134

JEECGBOOT代码SQL漏洞处理方案.zip

漏洞编码:HW21-0499 产品名字:JeecgBoot低代码平台 问题: JEECG系统存在SQL注入0day漏洞

Goby漏洞更新 jeecg-boot 未授权SQL注入漏洞(CVE-2024-1454)

感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

2401_84247760的博客 1381

用V E S C 6-M K V I 第六代调速控制器给VESC电调刷固件

文章摘要:本文介绍了一款先进的电机控制器,具备多项创新技术。核心亮点包括三相电流/电压检测、四象限无缝运行、多模式兼容等先进电机控制技术,以及智能感知与安全保护、高效能电源管理、多样化连接与扩展功能。此外,该控制器支持实时数据监测与用户交互,具备开源生态和工业级可靠性,适用于电动载具、机器人及工业领域。用户需注意散热要求和兼容性提示,可通过VESC-Tool软件进行灵活配置。产品可在常竹科技淘宝店购买,并加入技术交流群获取支持。

2403_89422757的博客 1364

MTK pwm beeper配置记录

如果正常,系统启动后会在/dev/input下生成 一个event节点,使用方法参考标准linux使用。dts相关修改如下,全都在里面,注意一下位置。对应的配置文件中增加如下定义。

hclydao的专栏 727

Jeecg-boot常见漏洞汇总

在网络安全的世界里,停止学习就意味着落后,共勉!

yy1715713348的博客 2815

ADS2016子电路封装避坑指南:手把手教你制作可复用的自定义Symbol

本文详细介绍了在ADS2016中制作可复用的自定义Symbol的全流程,重点解析了子电路封装的常见问题与解决方案。从电路模块的标准化处理、Hierarchy创建技巧到Symbol视觉优化和库管理策略,帮助工程师提升射频与微波电路设计效率。特别针对Symbol比例适配和引脚优化等核心问题,提供了实用的避坑指南和工程验证方法。

weixin_30275415的博客 213
上一篇: [代码审计]海康productFile命令执行历史漏洞分析(含poc)
下一篇: [漏洞复现]海康威视综合安防管理平台存在licenseExpire前台RCE
LiangYueSec
博客等级 码龄2年 560粉丝 37原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值