Weblogic IIOP协议反序列化(CVE-2020-2551)

目录

一. 漏洞描述

二. 影响版本

三. 漏洞环境搭建

四. 漏洞复现

五. 漏洞修复


一. 漏洞描述

       2020年1月15日,Oracle发布了一系列的安全补丁,其中Oracle WebLogic Server产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。

       经过分析这次漏洞主要原因是错误的过滤JtaTransactionManager类,JtaTransactionManager父类AbstractPlatformTransactionManager在之前的补丁里面就加入到黑名单列表了,T3协议使用的是resolveClass方法去过滤的,resolveClass方法是会读取父类的,所以T3协议这样过滤是没问题的。但是IIOP协议这块,虽然也是使用的这个黑名单列表,但不是使用resolveClass方法去判断的,这样默认只会判断本类的类名,而JtaTransactionManager类是不在黑名单列表里面的,它的父类才在黑名单列表里面,这样就可以反序列化JtaTransactionManager类了,而JtaTransactionManager类是存在jndi注入的。

二. 影响版本

  • Weblogic 10.3.6.0.0
  • Weblogic 12.1.3.0.0
  • Weblogic 12.2.1.3.0
  • Weblogic 12.2.1.4.0

三. 漏洞环境搭建

1. 这里搭建Weblogic 10.3.6.0.0的环境,直接使用vulhub中的CVE-2017-10271就可以

2. 进入到目录,执行docker-compose up -d

3. 访问7001/console,环境搭建成功

四. 漏洞复现

1. 手工复现漏洞命令执行,这里就不试了,大家可以参考 https://blog.csdn.net/caiqiiqi/article/details/104509330 ,https://blog.csdn.net/weixin_44677409/article/details/106493733

2. 漏洞POC检测

传送门 -》 cve-2020-2551_poc

五. 漏洞修复

1. 参考以下链接安装补丁更新: https://www.oracle.com/security-alerts/cpujan2020.html

2. 在Weblogic控制台中,选择“环境”->“服务器”->”AdminServer”->”协议”,取消“启用IIOP”的勾选。并重启Weblogic项目,使配置生效。

——心,若没有栖息的地方,到哪都是流浪

猜你喜欢

转载自blog.csdn.net/qq_44159028/article/details/114692095