咨詢服務(wù)熱線
400-6446-808
創(chuàng)安實(shí)驗(yàn)室專欄
您的當(dāng)前位置:首頁 > 創(chuàng)安實(shí)驗(yàn)室專欄

?+
+
CVE-2020-14882分析
WebLogic Server是美國Oracle公司的主要產(chǎn)品之一,其主要用于開發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用,是商業(yè)市場上主要的Java(J2EE)應(yīng)用服務(wù)器軟件之一。遠(yuǎn)程攻擊者可以通過發(fā)送惡意的HTTP GET 請求。成功利用此漏洞的攻擊者可在未經(jīng)身份驗(yàn)證的情況下控制 WebLogic Server Console ,并執(zhí)行任意代碼。
●
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
●
由于在權(quán)限校驗(yàn)過程中處置不到,可通過訪問靜態(tài)資源并且配合目錄穿越和url二次編碼繞過權(quán)限驗(yàn)證。并當(dāng)請求中存在_nfpb=true時(shí),最終會調(diào)用到 BreadcrumbBacking#init ,而這里會獲取請求中的 handle 參數(shù),調(diào)用 getHandle 方法便可執(zhí)行惡意操作。
●
構(gòu)造url:/console/css/%252e%252e%252fconsole.portal,便可繞過權(quán)限驗(yàn)證。
●
構(gòu)造惡意參數(shù):_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('calc.exe');");,進(jìn)入調(diào)用getHandle 方法邏輯執(zhí)行惡意操作。

●
首先在進(jìn)行路徑權(quán)限檢驗(yàn)會進(jìn)入weblogic.servlet.internal.WebAppServletContext#execute的execute方法中,調(diào)用securedExecute()
文件位于\wlserver\modules


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

進(jìn)入checkAccess進(jìn)行權(quán)限校驗(yàn)

當(dāng)我們請求的路徑為/console/console.portal時(shí),checkAllResources為false

跟進(jìn)getConstraint

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

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

當(dāng)我們訪問/console/css/%252e%252e%252fconsole.portal,則會繼續(xù)判斷resourceConstraint及后續(xù)的isAuthorized,并進(jìn)入checkAccess


跟進(jìn)checkUserPerm

跟進(jìn)hasPermission,當(dāng)我們這里使用靜態(tài)資源路徑時(shí),unrestrict值就為true

進(jìn)入weblogic.servlet.AsyncInitServlet#service

當(dāng)url中沒有“;”便會調(diào)用super.service

繼續(xù)跟進(jìn)super.service

最終進(jìn)入doPost,并調(diào)用createUIContext

此時(shí)我們傳入的url完成一次解碼

跟進(jìn)getTree,再一次進(jìn)行url解碼

之后進(jìn)入init

檢查參數(shù)中是否有handle參數(shù)

最后進(jìn)入HandleFactory.getHandle(handleStr)

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

構(gòu)造了惡意參數(shù),觸發(fā)rce

攻擊exp:https://github.com/GGyao/CVE-2020-14882_ALL
1、關(guān)閉后臺/console/console.portal的訪問權(quán)限。
2、修改后臺默認(rèn)地址。
https://www.oracle.com/security-alerts/cpuapr2020.html
E·N·D
本文由創(chuàng)信華通創(chuàng)安實(shí)驗(yàn)室編輯。
本文僅限于個(gè)人學(xué)習(xí)和技術(shù)研究,由于傳播、利用此文所提供的信息而造成刑事案件、非授權(quán)攻擊等違法行為,均由使用者本人負(fù)責(zé),本單位不為此承擔(dān)任何責(zé)任。創(chuàng)安攻防實(shí)驗(yàn)室擁有對此文章的修改和解釋權(quán),如欲轉(zhuǎn)載或傳播此文章,必須保證此文章的完整性,包括版權(quán)聲明等全部內(nèi)容。
如有侵權(quán),請聯(lián)系后臺。
●
創(chuàng)安實(shí)驗(yàn)室
創(chuàng)信華通創(chuàng)安實(shí)驗(yàn)室,是成都創(chuàng)信華通信息技術(shù)有限公司旗下的技術(shù)研究團(tuán)隊(duì),成立于2021年9月,主要研究紅藍(lán)對抗、重大安全保障、應(yīng)急響應(yīng)等方向。
創(chuàng)安攻防實(shí)驗(yàn)室圓滿完成了多次公安舉辦的重要網(wǎng)絡(luò)安全保障和攻防演習(xí)活動,并積極參加各類網(wǎng)絡(luò)安全競賽,屢獲殊榮。
創(chuàng)安攻防實(shí)驗(yàn)室秉承創(chuàng)信華通的發(fā)展理念,致力打造國內(nèi)一流網(wǎng)絡(luò)安全團(tuán)隊(duì)。