1 漏洞概述
CVE-2018-2628 是 Oracle WebLogic Server(WLS)核心组件中的一个反序列化命令执行漏洞。此漏洞允许未授权的用户通过 T3 协议在远程服务器上执行任意命令,从而可能完全控制受影响的服务器。
2 影响版本
该漏洞影响了以下版本的 Oracle WebLogic Server:
-
Oracle WebLogic Server 10.3.6.0
-
Oracle WebLogic Server 12.1.3.0
-
Oracle WebLogic Server 12.2.1.2
-
Oracle WebLogic Server 12.2.1.3
3 漏洞原理
此漏洞主要利用了两个技术点:Java 反射机制和 RMI(Remote Method Invocation,远程方法调用)。
-
Java 反射机制:Java 反射机制允许程序在运行时动态地获取类的信息,包括类的所有属性和方法,并且可以调用这些属性和方法。这种动态获取信息和调用方法的功能是 Java 反射机制的核心。
-
RMI:RMI 是 Java 的一部分,用于开发基于 Java 的分布式应用。RMI 在传输过程中使用序列化和反序列化。如果 RMI 服务端端口对外开放,并且服务端使用了像 Apache Commons Collections 这样的库,那么可能会导致远程命令执行。
攻击者可以通过发送精心构造的 T3 协议数据,绕过 WebLogic 的黑名单限制,利用 Java 反射机制和 RMI 的漏洞,在目标服务器上执行任意命令。
4 漏洞部署
进入目录 cd vulhub/weblogic/CVE-2018-2628 漏洞环境部署 docker-compose up -d 查看端口 docker-compose ps