MybatisPlus存在 sql 注入漏洞(CVE-2023-25330)解决办法
首先我们了解下这个漏洞是什么?
MyBatis-Plus TenantPlugin 是 MyBatis-Plus 的一个为多租户场景而设计的插件,可以在 SQL 中自动添加租户 ID 来实现数据隔离功能。
MyBatis-Plus TenantPlugin 3.5.3.1及之前版本由于 TenantHandler#getTenantId 方法在构造 SQL 表达式时默认情况下未对 tenant(租户)的 ID 值进行过滤,当程序启用了 TenantPlugin 并且 tenant(租户)ID 可由外部用户控制时,攻击者可利用该漏洞进行 sql 注入,接管程序的数据库或向操作系统发送恶意命令。用户可通过对租户 ID 进行过滤缓解此漏洞。
影响版本 <3.5.1
解决办法
1.不启用tenantId
2.必须使用tenantId的话,加过滤器,对tenantId做处理
Test Version: 3.4.2
com.example.demo.config.MybatisPlusConfig


com.example.demo.common.TenantHolder

Interface for testing: /user?tid= will returns a specified tenant data record.
com.example.demo.controller.HelloController

db:
CREATE TABLE `users` ( `id` int(32) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, `tenant_id` varchar(64) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Test interface using blank parameters:
http://localhost:8080/user?tid=


Use ' or 1=1 and '123'='123 to perform sql injection and get all the data

相关文章:
MybatisPlus存在 sql 注入漏洞(CVE-2023-25330)解决办法
首先我们了解下这个漏洞是什么? MyBatis-Plus TenantPlugin 是 MyBatis-Plus 的一个为多租户场景而设计的插件,可以在 SQL 中自动添加租户 ID 来实现数据隔离功能。 MyBatis-Plus TenantPlugin 3.5.3.1及之前版本由于 TenantHandler#getTenantId 方法在…...
【java】使用maven完成一个servlet项目
一、创建项目 创建一个maven项目 maven是一个管理java项目的工具,根据maven的pom.xml可以引入各种依赖,插件。 步骤 打开idea,点击新建项目 点击创建项目,项目创建就完成了 进入时会自动打开pom.xml文件。 pom是项目的配置文件…...
前端Vue入门-day07-Vuex入门
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 自定义创建项目 vuex概述 构建 vuex [多组件数据共享] 环境 创建一个空仓库 state 状态 1. 提供数据&…...
2023再谈前端状态管理
目录 什么是状态管理? 状态 常见模式 要解决的问题 心智模型 React Context Context 的问题 优点 缺点 React 外部状态管理库 概览 Class 时代 Redux 单向数据流 三大原则 如何处理异步 如何处理数据间联动 优点 缺点 Dva icestore Mobx 设…...
ffmpeg SDL播放器--播放udp组播流
c调用ffmpeg api及SDL库播放播放udp组播流。 代码及工程见https://download.csdn.net/download/daqinzl/88168574 参考文档:https://blog.csdn.net/a53818742/article/details/109312740 开发工具:visual studio 2019 记得推送udp流,可采…...
__attribute__((noreturn))
GNU C 的一大特色就是__attribute__ 机制,__attribute__ 可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。 语法格式为: __attribute__((att…...
遮挡边界处的深度补全和双曲面外推
论文地址:Depth Completion with Twin Surface Extrapolation at Occlusion Boundaries 论文代码:https://github.com/imransai/TWISE 深度补全是从稀疏的已知深度值开始,为其余图像像素估计未知深度。 大多数方法将其建模为深度插值&#x…...
LK-99室温超导激发万万亿市场,将对我们的生活产生哪些影响?
7月下旬,韩国量子能源研究中心公司相关研究团队在预印本网站上陆续公布两篇类似的论文,宣称一种命名为LK-99的铜掺杂铅磷灰石材料拥有“室温常压”超导能力,系全世界首款室温常压超导材料。 它们的实验方法比较简单,就是把铅、铜、…...
子集——力扣78
文章目录 题目描述法一 迭代法实现子集枚举题目描述 法一 迭代法实现子集枚举 class Solution {public:vector<int> t;vector<vector<...
【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(8 月 2 日论文合集)
文章目录 一、检测相关(8篇)1.1 Explainable Cost-Sensitive Deep Neural Networks for Brain Tumor Detection from Brain MRI Images considering Data Imbalance1.2 MonoNext: A 3D Monocular Object Detection with ConvNext1.3 Detecting Cloud Presence in Satellite Ima…...
JDK中「SPI」原理分析
基于【JDK1.8】 一、SPI简介 1、概念 SPI即service-provider-interface的简写; JDK内置的服务提供加载机制,可以为服务接口加载实现类,解耦是其核心思想,也是很多框架和组件的常用手段; 2、入门案例 2.1 定义接口 …...
DSL:数字用户线路(Digital Subscriber Line)
一、基础释义 DSL(数字用户线路,Digital Subscriber Line)是一种用于传输数字数据的通信技术,允许数据在传统的电话线路(铜线)上进行高速传输。DSL技术通过将高频信号叠加在低频的语音信号上,使…...
Java集合ArrayList详解
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。 Java 数组 与 ArrayList 在Java中,我们需要先声明数组的大…...
React Dva项目 Model中编写与调用异步函数
上文 React Dva项目中模仿网络请求数据方法 中,我们用项目方法模拟了后端请求的数据 那么 今天我们就在models中尝试去使用一下这种异步获取数据的方法 之前 我们在文章 React Dva项目创建Model,并演示数据管理与函数调用 中已经接触过Model了 也可以理解为 它就是 …...
小程序自定义tabBar+Vant weapp
1.构建npm,安装Vant weapp: 1)根目录下 ,初始化生成依赖文件package.json npm init -y 2)安装vant # 通过 npm 安装 npm i vant/weapp -S --production 3)修改 package.json 文件 开发者工具创建的项…...
Dubbo+Zookeeper使用
说明:Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。 本文介绍Dubbo的简单使用及一些Dubbo功能特性,注册中心使用的是ZooKeeper,可在…...
短视频平台视频怎么去掉水印?
短视频怎么去水印,困扰很多人,例如,有些logo水印,动态水印等等,分享操作经验: 抖音作为中国最受欢迎的社交娱乐应用程序之一,已成为许多人日常生活中不可或缺的一部分。在使用抖音过程中&#x…...
Stable Diffusion - Style Editor 和 Easy Prompt Selector 提示词插件配置
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132122450 Style Editor 插件: cd extensions git clone https://ghproxy.com/https://github.com/chrisgoringe/Styles-Editor报错&…...
Stable Diffusion - SDXL 模型测试 (DreamShaper 和 GuoFeng v4) 与全身图像参数配置
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132085757 图像来源于 GuoFeng v4 XL 模型,艺术风格是赛博朋克、漫画、奇幻。 全身图像是指拍摄对象的整个身体都在画面中的照片&…...
中介者模式(Mediator)
中介者模式是一种行为设计模式,可以减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个封装了对象间交互行为的中介者对象来进行合作,从而使对象间耦合松散,并可独立地改变它们之间的交互。中介者…...
Qwen3-4B镜像问题解决:常见错误排查,日志查看一键清空记忆
Qwen3-4B镜像问题解决:常见错误排查,日志查看一键清空记忆 1. 镜像运行常见问题速查 当你启动Qwen3-4B镜像后遇到问题时,不要急着重启容器。以下是7个最常见问题及其解决方案: 1.1 页面无法访问(空白或连接拒绝&…...
双重ai赋能:如何用快马平台的ai助手智能构建lstm时间序列预测模型
今天想和大家分享一个特别实用的开发体验——如何用AI辅助快速搭建LSTM时间序列预测模型。最近在做空气质量预测项目时,我尝试了InsCode(快马)平台的AI助手功能,整个过程就像有个专业搭档在实时协作,特别适合想快速验证模型效果的朋友。 1. …...
3步打造京东自动抢购神器:从安装到抢购全流程指南
3步打造京东自动抢购神器:从安装到抢购全流程指南 【免费下载链接】jd-assistantV2 京东抢购助手:包含登录,查询商品库存/价格,添加/清空购物车,抢购商品(下单),抢购口罩,查询订单等功能 项目…...
如何一键合并B站缓存视频?HLB站缓存合并工具完全指南
如何一键合并B站缓存视频?HLB站缓存合并工具完全指南 【免费下载链接】BilibiliCacheVideoMerge 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCacheVideoMerge 你是否曾经遇到过这样的情况:在B站缓存了喜欢的视频,想在离线…...
TranslucentTB启动错误0x80070490深度解决方案:从问题定位到长效优化
TranslucentTB启动错误0x80070490深度解决方案:从问题定位到长效优化 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 问题定位…...
WinDiskWriter:跨平台启动盘制作开源工具的技术方案与高效操作指南
WinDiskWriter:跨平台启动盘制作开源工具的技术方案与高效操作指南 【免费下载链接】windiskwriter 🖥 Windows Bootable USB creator for macOS. 🛠 Patches Windows 11 to bypass TPM and Secure Boot requirements. 👾 UEFI &a…...
效率翻倍:无需visio下载与套模板,AI生成可嵌入的会议流程图
最近在团队周会上发现一个痛点:每次会议纪要的流程图都要重新画,从打开Visio到找模板、调整格式,一套流程下来至少半小时。作为程序员,我就在想能不能用技术手段解决这个重复劳动的问题。经过一番摸索,终于在InsCode(快…...
OpenClaw性能优化:Qwen3-14B长任务内存泄漏排查实录
OpenClaw性能优化:Qwen3-14B长任务内存泄漏排查实录 1. 问题背景:当OpenClaw开始"吃内存" 上周三凌晨2点,我的手机突然收到服务器告警——部署在本地RTX 4090D上的OpenClaw进程内存占用突破90%。这台专门用于运行Qwen3-14B模型的…...
RK312X Android 7.1内核ACM驱动踩坑:手动管理instances变量避免系统崩溃
RK312X Android 7.1内核ACM驱动状态管理深度剖析:从空指针崩溃到安全计数器设计 在嵌入式Linux内核开发领域,USB Gadget驱动的状态同步问题一直是困扰开发者的典型难题。当我们在RK312X平台上移植Android 7.1系统时,发现了一个极具代表性的案…...
如何快速实现抖音音频批量下载:douyin-downloader完整指南
如何快速实现抖音音频批量下载:douyin-downloader完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback s…...
