第1篇:weblogic9.x在JDK1.5下T3反序列化漏洞利用方法

Part1前言

年前在一次攻防比赛过程中,遇到了一个9.x版本的weblogic中间件,是非常老版本的Weblogic了,现有的各种漏洞利用工具都没能拿下权限,考虑到之前也曾经遇到过好几次了,于是研究了一整天,总算解决了这个遗留的技术问题。

Part2解决问题过程

  • 安装weblogic 9.x版本

首先安装weblogic9.x版本,这个过程就不叙述了。

95c603fbd9f5a35a72c07f2d6f1f7054.png

aa1d4894a10fe2d0440826f089ed2b59.png

使用T3协议发包后,返回weblogic版本号是9.2.0.0

b8e61dadd207aa2c89b34f545ef4363c.png

接下来看一下weblogic目录自带的jdk版本,发现是1.5(几乎是20年前的老版本了)。至此初步判断工具利用失败的原因是:反序列化利用工具的exp在JDK1.6以上版本编译,从而不支持jdk 1.5环境,后续发现原因没这么简单。

8719f46fffe589edc4ff8b29c574ca06.png

接下来看一下weblogic目录下,存在哪些具有反序列化漏洞的jar包:

1685602ef73078a8a6cff062690000a5.png

接下来改造一下老外的ysoserial代码,使其在JDK1.5环境下编译,结果遇到了好几个坑。

  • 第一个坑,idea在jdk1.5支持问题

使用Intellij Idea加载ysoserial的代码,将JDK版本更改为1.5,发现idea新版本不支持jdk1.5环境,没法调试代码。

没办法,从idea的官网一顿搜索,找到了一个老版本的idea 11,总算是能支持jdk1.5环境了。

idea11以jdk1.5导入ysoserial后,报一大堆错误,于是将几个必备的依赖jar包替换成较低版本的,以备可以兼容jdk1.5环境。

bb1777fda3303f5eb29441277f87eca3.png

  • 第2个坑,permit-reflect组件JDK1.5兼容问题

按照前面的步骤替换完低版本jar包后,permit-reflect组件遇到了麻烦,我下载了0.1到0.4版本都不支持JDK1.5。。。

后来找到了解决办法:下载permit-reflect的源码,以JDK1.5环境导入,把报错的代码都给注释掉,然后进行小规模代码修复,将修复好的代码直接放到ysoserial工程里面,这下不报错了。

ca4840d541acd27f62e733e1b858fc09.png

  • 第3个坑 CC链不适用于JDK1.5

weblogic低版本应该是存在CC链的反序列化漏洞的,本地尝试了各种CC链,发现在JDK1.5下是没法弹计算器的。

279766df862d7758ab23b240c58ba5f5.png

  • Jdk7u21最终解决问题

于是把目光放在Jdk7u21这个链上(先前以为Jdk7u21是不支持JDK1.5的),以JDK1.5环境导入,本地反序列化环境测试,发现是可以弹出计算器的!

1a7ab838244e113b11e498c0f17e1ae7.png

接下来使用了之前从github上下载的T3协议发包代码,将上述生成的数据文件发包出去。

a872280b00989daca2b6e44171bb44a8.png

发现weblogic9.x成功弹出计算器

f52f0d044c0fec441af973684feeeea0.png

 

Part3总结

  1. Jdk7u21利用链可用于JDK1.5,但是必须以JDK1.5环境编译。

  2. Weblogic9.x默认依赖于JDK1.5。

  3. CC链貌似不能用于JDK1.5。

  4. permit-reflect组件改源码,然后导入ysoserial中,因为官网的jar包版本不支持JDK1.5。

  5. ysoserial依赖包尽量选用最低版本的jar包,否则JDK1.5不支持。


网络安全abc123专注于红队、蓝队技术分享,每周一篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希潭实验室

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值