web安全---SSRF漏洞
簡(jiǎn)介
SSRF:服務(wù)器請(qǐng)求偽造,是一種攻擊者構(gòu)造形成由服務(wù)端發(fā)起請(qǐng)求 的一個(gè)安全漏洞。一般情況下,SSRF攻擊的目標(biāo)是從外網(wǎng)無法訪問的內(nèi)部系統(tǒng)(正是因?yàn)樗怯煞?wù)端發(fā)起的,所以它能夠請(qǐng)求到與它相連而與外網(wǎng)隔離的內(nèi)部系統(tǒng))
個(gè)人理解:服務(wù)器接收了你構(gòu)造的代碼,然后去執(zhí)行,執(zhí)行后將結(jié)果返回給你
SSRF原理
大都是因?yàn)榉?wù)端提供從其他服務(wù)器獲取數(shù)據(jù)功能,并且沒有對(duì)目標(biāo)地址做過濾和限制造成的、比如從指定URL獲取網(wǎng)頁加載圖片下載等等。
php下面函數(shù)的使用不當(dāng)可能會(huì)導(dǎo)致SSRF
例子
觀察URL,發(fā)現(xiàn)服務(wù)端提供了URL查詢
嘗試訪問百度及本機(jī)3306端口
訪問成功獲取信息,確定存在ssrf漏洞
下面我們來查看一下源碼到底為什么會(huì)導(dǎo)致這個(gè)漏洞
可以看到采用了curl函數(shù)請(qǐng)求URL資源回顯在前端,并且沒做任何過濾或限制。從而導(dǎo)致了用戶可能可以通過這個(gè)漏洞進(jìn)行一些內(nèi)網(wǎng)服務(wù)探測(cè)等等。非常危險(xiǎn)!
file_get_contents造成的SSRF $url = $_GET['url']; echo file_get_contents($url); 利用php://input偽協(xié)議 file_get_content如果訪問一個(gè)不存在的地址,會(huì)爆出絕對(duì)路徑ssrf危害
1. 掃內(nèi)網(wǎng) 2. 向內(nèi)部任意主機(jī)的任意端口發(fā)送精心構(gòu)造的Payload 3. DOS攻擊(請(qǐng)求大文件,始終保持連接Keep-Alive Always) 4. 攻擊內(nèi)網(wǎng)的web應(yīng)用,主要是使用GET參數(shù)就可以實(shí)現(xiàn)的攻擊(比如struts2,sqli等) 5. 利用file協(xié)議讀取本地文件等(file_get_content函數(shù),利用偽協(xié)議讀取)ssrf驗(yàn)證方式和常見的地方
1.因?yàn)镾SRF漏洞是構(gòu)造服務(wù)器發(fā)送請(qǐng)求的安全漏洞,所以我們就可以通過抓包分析發(fā)送的請(qǐng)求是否是由服務(wù)器的發(fā)送的來判斷是否存在SSRF漏洞
2.在頁面源碼中查找訪問的資源地址 ,如果該資源地址類型為 http://www.xxx.com/a.php?image=(地址)的就可能存在SSRF漏洞
排除法1
你可以直接右鍵圖片,在新窗口打開圖片,如果是瀏覽器上URL地址欄是http://www.baidu.com/img/bd_logo1.png,說明不存在SSRF漏洞。
排除法2
你可以使用burpsuite等抓包工具來判斷是否不是SSRF,首先SSRF是由服務(wù)端發(fā)起的請(qǐng)求,因此在加載圖片的時(shí)候,是由服務(wù)端發(fā)起的,所以在我們本地瀏覽器的請(qǐng)求中就不應(yīng)該存在圖片的請(qǐng)求.(host www.baidu.com就不是)
ssrf修復(fù)方式
可以采取白名單,限制內(nèi)網(wǎng)Ip。 對(duì)返回內(nèi)容進(jìn)行識(shí)別 禁用一些不必要的協(xié)議 統(tǒng)一錯(cuò)誤信息,避免用戶可以根據(jù)錯(cuò)誤信息來判斷遠(yuǎn)端服務(wù)器的端口狀態(tài)總結(jié)
以上是生活随笔為你收集整理的web安全---SSRF漏洞的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么投影仪最适合家用?几百块的投影仪靠谱
- 下一篇: 木耳多少钱啊?