JeecgBoot3.0 漏洞升级 — 快速文档

近几年来,黑客攻击行为呈现出日益复杂和隐蔽的趋势,对个人和组织的安全造成了严重威胁。黑客们不断寻找新的漏洞和安全漏洞,利用各种手段进行网络攻击,包括恶意软件、网络钓鱼、勒索软件等。因此,我们每个人都需要关注漏洞风险,加强网络安全意识,及时更新系统补丁。目前有网友反馈受到攻击勒索,虽然我们的商业客户并没受到影响,但也请尽快升级补丁,避免未知的风险!
黑客攻击现在很频繁,请一定重视!!!

一、升级freemarker补丁,解决执行任意命令问题

升级freemarker补丁,解决Freemarker模板注入导致远程命令执行, 远程攻击者可利用该漏洞调用在系统上执行任意命令
无论你的jeecg是那个版本都可以采用此方案:重写freemarker的类src/main/java/freemarker/template/Configuration.java方式,在实例化Configuration方法里面默认加入下面代码

//freemarker模板注入问题 禁止解析ObjectConstructor,Execute和freemarker.template.utility.JythonRuntime。
this.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER);

参考代码:针对freemaker2.3.31的重写Configuration初始化,具体大家请按照自己的版本去重写覆盖。

二、升级积木报表到最新版1.6.5,解决无权限可访问问题

1、升级依赖版本号

修改pom.xml中积木报表的依赖版本号

<!-- 积木报表-->
<dependency><groupId>org.jeecgframework.jimureport</groupId><artifactId>jimureport-spring-boot-starter</artifactId><version>1.6.5</version><exclusions><exclusion><artifactId>autopoi-web</artifactId><groupId>org.jeecgframework</groupId></exclusion></exclusions>
</dependency>
<dependency><groupId>org.jeecgframework.jimureport</groupId><artifactId>jimureport-nosql-starter</artifactId><version>1.6.0</version>
</dependency>

2、修改yml配置

jeecg:jmreport:mode: dev#多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) (v1.6.2+ 新增)saasMode: # 平台上线安全配置(v1.6.2+ 新增)firewall:# 数据源安全 (开启后,不允许使用平台数据源、SQL解析加签并不允许查询数据库)dataSourceSafe: false# 低代码开发模式(dev:开发模式,prod:发布模式—关闭在线报表设计功能,分配角色admin、lowdeveloper可放开限制)lowCodeMode: dev

3、修改org.jeecg.config.jimureport.JimuReportTokenService加入实现新方法

    @Overridepublic String[] getRoles(String token) {String username = JwtUtil.getUsername(token);Set roles = sysBaseApi.getUserRoleSet(username);if(CollectionUtils.isEmpty(roles)){return null;}return (String[]) roles.toArray(new String[roles.size()]);}

4.执行升级sql
这里做的是从1.4.2升级到1.6.5,有升级sql如下,其他版本请查看积木报表升级日志

ALTER TABLE  jimu_report_data_source
ADD COLUMN tenant_id varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识' AFTER connect_times;ALTER TABLE jimu_dict
ADD COLUMN tenant_id varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识' AFTER type;ALTER TABLE jimu_report
ADD COLUMN tenant_id varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '多租户标识' AFTER js_str;ALTER TABLE jimu_report_data_source
ADD COLUMN type  varchar(10) NULL COMMENT '类型(report:报表;drag:仪表盘)';
UPDATE jimu_report_data_source SET type= 'report';CREATE TABLE jimu_report_share  (id varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',report_id varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '在线excel设计器id',preview_url varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '预览地址',preview_lock varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码锁',last_update_time datetime NULL DEFAULT NULL COMMENT '最后更新时间',term_of_validity varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '有效期(0:永久有效,1:1天,2:7天)',status varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否过期(0未过期,1已过期)',preview_lock_status varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码锁状态(0不存在密码锁,1存在密码锁)',PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木报表预览权限表' ROW_FORMAT = DYNAMIC;

三、其他官方漏洞通知专题

【漏洞通知】JeecgBoot 修复 Freemarker 模板注入漏洞

  • https://blog.csdn.net/zhangdaiscott/article/details/132304391

积木报表 JimuReport v1.6.2-GA5 版本发布 — 高危 SQL 漏洞安全加固版本

  • https://my.oschina.net/jeecg/blog/10106055

【漏洞通知】JeecgBoot 修复SQL注入风险

  • https://my.oschina.net/jeecg/blog/10107636

【漏洞通知】Apache Shiro又爆认证绕过漏洞CVE-2023-34478

  • https://blog.csdn.net/zhangdaiscott/article/details/131914652

JeecgBoot升级Nacos至2.2.3版本解决raft漏洞问题

  • https://blog.csdn.net/zhangdaiscott/article/details/131730495

【高危安全通告】fastjson≤1.2.80反序列化漏洞

  • https://blog.csdn.net/zhangdaiscott/article/details/124960217

四、友情提示

黑客攻击,一般是通过控制服务器,搞坏数据库来进行勒索,所以定时备份数据库非常重要。
这里附上一个备份数据库的脚本,供大家参考

#!/bin/bash
#数据库的定时备份
#定义备份的路径
BACKUP=/var/lib/mysql
DATETIME=`date +%Y_%m_%d_%H%M%S`
#echo "$DATETIME"
echo "=====start backup to $BACKUP/$DATETIME/$DATETIME.tar.gz======"
#主机
HOST=localhost
DB_USER=root
DB_PWD=123456
#要备份的数据库名称
DATABASE=jeecg-boot
#创建备份的路径,如果路径不存在则创建
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
#执行mysql的备份数据库指令
mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
#打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除临时目录
rm -rf $BACKUP/$DATETIME
#删除10天前的备份文件
#在$backup目录下按照时间找10天前的名称为*.tar.gz的文件,-exec表示执行找到的文件
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm rf {} \;
echo "===========backup success======"

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

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

相关文章

Java 之 final 详解

目录 一. 前言 二. final 的基础使用 2.1. 修饰类 2.2. 修饰方法 2.2.1. private 方法是隐式的 final 2.2.2. final 方法可以被重载 2.3. 修饰参数 2.4. 修饰变量 2.4.1. static final 2.4.2. blank final 2.4.3. 所有 final 修饰的字段都是编译期常量吗&#xff1f…

数据结构:二叉查找树,平衡二叉树AVLTree,红黑树RBTree,平衡多路查找数B-Tree,B+Tree

二叉查找树 二叉树具有以下性质&#xff1a;左子树的键值小于根的键值&#xff0c;右子树的键值大于根的键值。 对该二叉树的节点进行查找发现深度为1的节点的查找次数为1&#xff0c;深度为2的查找次数为2&#xff0c;深度为n的节点的查找次数为n&#xff0c;因此其平均查找次…

2023年亚太数学建模C题数据分享+详细思路

在报名截止的前一天&#xff0c;我尝试进行了报名。到那时&#xff0c;已有11,000个队伍注册参赛。在我的了解中&#xff0c;在数模比赛中除了国赛美赛外&#xff0c;几乎没有其他竞赛的参赛队伍数量能与此相媲美。即便不考虑赛题的难度和认可度&#xff0c;亚太地区的这场竞赛…

JavaScript实现动态背景颜色

JavaScript实现动态背景颜色 前言实现过程HTML实现过程CSS实现过程JS实现过程全部源码 前言 本文主要讲解JavaScript如何实现动态背景颜色&#xff0c;可以根据颜色选择器选择的颜色而实时更新到背景中&#xff0c;如下图所示。 当我们在颜色选择器中改变颜色时&#xff0c;会…

代码扫描,漏洞检测

1) SQL注入是一种数据库攻击手段。攻击者通过向应用程序提交恶意代码来改变原SQL语句的含义&#xff0c;进而执行任意SQL命令&#xff0c;达到入侵数据库乃至操作系统的目的。在Mybatis Mapper Xml中&#xff0c;#变量名称创建参数化查询SQL语句,不会导致SQL注入。而$变量名称…

SPSS信度分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…

内网渗透之Linux权限提升大法

文章目录 内网渗透|Linux权限提升大法0x01 前言0x02 工具介绍1.traitor2.LinEnum3.linux-exploit-suggester.sh4.Linux Exploit Suggester 25.beroot 0X02提权手法1.环境变量提权2.利用suid提权3.定时任务提权3.1定时任务文件覆盖提权3.2定时任务tar命令通配符注入提权 4.sudo提…

【matlab程序】matlab给风速添加图例大小

【matlab程序】matlab给风速添加图例大小 clear;clc;close all; % load 加载风速数据。 load(matlab.mat) % 加载颜色包信息 gray load(D:\matlab_work\函数名为colormore的颜色索引表制作\R_color_txt\R_color_single\gray89.txt); brown load(D:\matlab_work\函数名为color…

_STORAGE_WRITE_ERROR_ thinkphp报错问题原因

整个报错内容如下 Uncaught exception Think\Exception with message _STORAGE_WRITE_ERROR_:./Runtime/Cache/Home/1338db9dec777aab181d4e74d1bdf964.php in C:\inetpub\wwwroot\ThinkPHP\Common\functions.php:101 Stack trace: #0 C:\inetpub\wwwroot\ThinkPHP\Library\…

1. 应用编程概念

1. 应用编程概念 1 系统调用概念1 应用编程和裸机编程、驱动编程的区别 1 系统调用概念 系统调用其实是 Linux 内核提供给应用层的应用编程接口&#xff0c;是 Linux 应用层进入内核的入口。用户通过系统调用来使用系统提供的各种服务&#xff0c;实现了与内核的交互。 1 应用…

JavaFx 设置窗口边框圆角

UI界面要求窗口边框有一定弧度&#xff0c;因为之前没有做过&#xff0c;网上看了很多文章&#xff0c;都用到了css语句 "-fx-background-radius: ; 我在xml布局文件根节点使用无效&#xff0c;在Scene组件设置无效&#xff0c;gpt等ai问了一圈代码也是无效&#xff0c;…

【JavaEE】认识多线程

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《vaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&am…

React + BraftEditor 实现富文本编辑

Braft Editor 是一个基于 React 和 Draft-js 开发的富文本编辑器&#xff0c;提供了丰富的基础功能&#xff0c;如基本文本格式化、列表、链接、图片上传、视频插入等&#xff0c;并且还支持扩展。 首先&#xff0c;确保你已经在项目中安装了 Braft Editor 和它的依赖项&#x…

NPU、CPU、GPU算力及算力计算方式

NVIDIA在9月20日发布的NVIDIA DRIVE Thor 新一代集中式车载计算平台&#xff0c;可在单个安全、可靠的系统上运行高级驾驶员辅助应用和车载信息娱乐应用。提供 2000 万亿次浮点运算性能&#xff08;2000 万亿次8位浮点运算&#xff09;。NVIDIA当代产品是Orin&#xff0c;算力是…

Java基础(问题+答案)——第4期

其他的几期见这个专栏 Java中的多态性&#xff08;Polymorphism&#xff09;&#xff1a; 多态性是指一个对象可以用来引用多个类型的特性。在Java中&#xff0c;多态性通过方法的重写和接口实现来实现。 Java中的final关键字的用途&#xff1a; final可以用于变量、方法和类。…

堪比数据恢复大师软件推荐,恢复数据很简单!

“作为一个经常丢失数据的电脑用户来说&#xff0c;我觉得我非常需要一些简单有效的数据恢复方法。大家有什么比较靠谱的软件推荐吗&#xff1f;非常感谢&#xff01;” 在数字化时代&#xff0c;数据的存储是比较重要的。很多用户都会选择将重要的文件保存在电脑上。如果数据丢…

第二证券:北证50指数一枝独秀 短剧游戏概念股持续活跃

周三&#xff0c;沪深两市三大指数颤动调整&#xff0c;北证50指数“鹤立鸡群”&#xff0c;大涨超8%。到收盘&#xff0c;上证综指报3043.61点&#xff0c;跌0.79%&#xff1b;深证成指报9855.66点&#xff0c;跌1.41%&#xff1b;创业板指报1950.01点&#xff0c;跌1.73%。沪…

ITSS项目概述及评估流程!

ITSS项目概述 ITSS (Information Technology Service Standards&#xff0c;信息技术服务标准&#xff0c;简称ITSS)是一套成体系和综合配套的信息技术服务标准库&#xff0c;全面规范了IT服务产品及其组成要素&#xff0c;用于指导实施标准化和可信赖的IT服务&#xff0c;是套…

CSV用EXCEL打开后为科学计数法(后几位丢失)解决方法

当在Excel中打开含有长数字&#xff08;如订单号&#xff09;的CSV文件时&#xff0c;Excel可能会默认将这些长数字格式化为科学计数法。 而当您尝试将它们转换为文本格式时&#xff0c;如果数字非常长&#xff0c;Excel可能无法正确处理其精度&#xff0c;导致数字的后几位变…

uni-app,nvue中text标签文本超出宽度不换行问题解决

复现&#xff1a;思路&#xff1a; 将text标签换为rich-text&#xff0c;并给rich-text增加换行的样式class类名解决&#xff1a;