-
weblogic中间件
- WebLogic是美国Oracle公司出品的一个application server,用于本地和云端开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的JAVA应用服务器。WebLogic Server是一个基于JAVAEE架构的中间件,将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中,提供了Java Enterprise Edition (EE)和Jakarta EE的可靠、成熟和可扩展的实现。
-
CVE-2018-2628
-
漏洞描述
- Weblogic Server中的RMI 通信使用T3协议在Weblogic Server和其它Java程序(客户端或者其它Weblogic Server实例)之间传输数据, 服务器实例会跟踪连接到应用程序的每个Java虚拟机(JVM)中, 并创建T3协议通信连接, 将流量传输到Java虚拟机。T3协议在开放WebLogic控制台端口的应用上默认开启。攻击者可以通过T3协议发送恶意的的反序列化数据, 进行反序列化, 实现对存在漏洞的weblogic组件的远程代码执行攻击(开放Weblogic控制台的7001端口,默认会开启T3协议服务,T3协议触发的Weblogic Server WLS Core Components中存在反序列化漏洞,攻击者可以发送构造的恶意T3协议数据,获取目标服务器权限。)
-
T3协议:
- 用于在Weblogic服务器和其他类型的Java程序之间传输信息的协议。Weblogic会跟踪连接到应用程序的每个Java虚拟机,要将流量传输到Java虚拟机,Weblogic会创建一个T3连接。该链接会通过消除在网络之间的多个协议来最大化效率,从而使用较少的操作系统资源。用于T3连接的协议还可以最大限度减少数据包大小,提高传输速度
-
RMI方法:
- 远程方法调用,除了该对象本身的虚拟机,其它的虚拟机也可以调用该对象的方法。(对象的虚拟化和反序列化广泛应用到RMI和网络传输中)
-
JRMP:
- Java远程消息交换协议JRMP
- JRMP是一个Java远程方法协议,该协议基于TCP/IP之上,RMI协议之下。也就是说RMI该协议传递时底层使用的是JRMP协议,而JRMP底层则是基于TCP传递。
- RMI默认使用的JRMP进行传递数据,并且JRMP协议只能作用于RMI协议。当然RMI支持的协议除了JRMP还有IIOP协议,而在Weblogic里面的T3协议其实也是基于RMI去进行实现的。
-
影响版本
- Oracle Weblogic Server10.3.6.0.0
- Oracle Weblogic Server12.1.3.0.0
- Oracle Weblogic Server12.2.1.2.0
- Oracle Weblogic Server12.2.1.3.0
-
漏洞复现
- 环境:kali linux
- 靶场:vulhub /vulhub/weblogic/CVE-2018-2628
- 开启靶场,进入环境:
- 进行访问:
- Nmap扫描目标ip端口,查看是否使用weblogic
- nmap -SV 192.168.100.134 //靶场ip地址
- 扫描结果,开放了7001端口,对应weblogic服务以及版本信息
- 使用Nmap的脚本查看对方是否开启T3协议,查看到目标站点开启了T3协议
- nmap -n -v -p 7001,7002 192.168.100.134 --script=weblogic-t3-info
Weblogic反序列化漏洞(CVE-2018-2628/CVE-2023-21839)
最新推荐文章于 2025-07-19 22:12:45 发布