前言
希望假期能坚持更下来,白天有其他工作,只能晚上抽时间打打靶机了。
漏洞描述
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
影响版本: Oracle WebLogic Server 12.2.1.0 、 12.1.3.0 、 12.1.2.0 、 10.3.6.0
这个漏洞是java反序列化的漏洞
原理是将反序列化的对象封装进了weblogic.corba.utils.MarshalledObject,然后再对 MarshalledObject进行序列化。当字节流反序列化时 MarshalledObject 不在 WebLogic 黑名单里,可正常反序列化,在反序列化时 MarshalledObject对象调用 readObject 时对 MarshalledObject 封装的序列化对象再次反序列化,这样就逃过了黑名单的检查。
MarshalledObject比较符合需求,即在封装原链的基础上可以通过自身的反序列化来反序列化成员变量。
复现过程
在镜像信息这里,开的端口有7001,是weblogic默认端口
打开后是这个界面
这里就直接拿工具了,
确实是有漏洞的啊,因为后面也出了漏洞,直接验证了2020年漏洞……
然后进行命令执行 读取tmp下的信息(因为前面几个题的flag是在tmp路径下的)
ok脚本小子复现漏洞完成
修复方案
升级到最新版本!