0x00 前言
上周看到有人在群里发了绿盟的漏洞通告
https://mp.weixin.qq.com/s/TvT22Wdw-SPBCKcl2pm2Pg
好奇点进去看了下,找到了漏洞信息,然后想着还没人发复现文章,我自个也整一个。
从搭建环境开始到最后复现成功各种踩坑,本来想放弃的,后来想了下还是坚持下来了。其实回过头来看觉得自己好蠢,明明就是半天就能搞定的事情。。。非得整了好几天。
0x01 漏洞相关
官方公布的poc
https://www.mail-archive.com/announce@apache.org/msg06077.html
poc如下
{"detectCustomCollations":true,"autoDeserialize":true}
虽然官方对漏洞的相关引用说明直接引用到了CVE-2017-3523,但搜了下都没找到相关信息,Mysql Connector/j 相关的漏洞只有2019年blackhat大会相关的披露。且从poc来看以及查看代码分析,比较大概率确定该漏洞就是2019年分享出来的那个利用。
漏洞复现参考了以下这几位师傅的文章
https://www.anquanke.com/post/id/203086
https://xz.aliyun.com/t/8159
https://www.cnblogs.com/Welk1n/p/12056097.html
通俗点来说就是,通过java的mysql客户端连接服务端,然后本地客户端被rce了。
0x02 环境搭建
环境搭建参考
https://dolphinscheduler.apache.org/zh-cn/docs/development/development-environment-setup.html
这里推荐用Linux编译调试,我在windows上折腾了很久没搞成功。
Linux(debian)+ Jdk8u,尤其要注意jdk的版本,因为这里是利用链之一
0x03 漏洞利用
1)配置mysql
参考如下链接
https://github.com/codeplutos/MySQL-JDBC-Deserialization-Payload
安装插