SSRF漏洞是如何產生的?php
SSRF(Server-Side Request Forgery:服務器端請求僞造) 是一種由攻擊者構造造成由服務端發起請求的一個安全漏洞。通常狀況下,SSRF攻擊的目標是從外網沒法訪問的內部系統。(正是由於它是由服務端發起的,因此它可以請求到與它相連而與外網隔離的內部系統)html
SSRF 造成的緣由大都是因爲服務端提供了從其餘服務器應用獲取數據的功能且沒有對目標地址作過濾與限制。好比從指定URL地址獲取網頁文本內容,加載指定地址的圖片,下載等等。web
可能上面的語言對於一些小白白來講難以理解,下面是一些個人理解:api
html,php,asp,jsp 具備這些文件後綴的文件一般儲存在web服務器(網站服務器)中,並且web服務器都具備獨立ip瀏覽器
網站訪問大體步驟:安全
用戶在地址欄輸入網址 --》 向目標網站發送請求 --》 目標網站接受請求並在服務器端驗證請求是否合法,而後返回用戶所須要的頁面 --》用戶接收頁面並在瀏覽器中顯示服務器
【此處的請求默認爲www.xxx.com/a.php?image=(地址)】dom
那麼產生SSRF漏洞的環節在哪裏呢?目標網站接受請求後在服務器端驗證請求是否合法jsp
產生的緣由:服務器端的驗證並無對其請求獲取圖片的參數(image=)作出嚴格的過濾以及限制,致使能夠從其餘服務器的獲取必定量的數據ide
例如:
www.xxx.com/a.php?image=http://www.abc.com/1.jpg
若是咱們將http://www.abc.com/1.jpg換爲與該服務器相連的內網服務器地址會產生什麼效果呢?
若是存在該內網地址就會返回1xx 2xx 之類的狀態碼,不存在就會其餘的狀態碼
終極簡析: SSRF漏洞就是經過篡改獲取資源的請求發送給服務器,可是服務器並無發如今這個請求是合法的,而後服務器以他的身份來訪問其餘服務器的資源。
SSRF漏洞的尋找(漏洞常見出沒位置):
1)分享:經過URL地址分享網頁內容
2)轉碼服務
3)在線翻譯
4)圖片加載與下載:經過URL地址加載或下載圖片
5)圖片、文章收藏功能
6)未公開的api實現以及其餘調用URL的功能
7)從URL關鍵字中尋找
share
wap
url
link
src
source
target
u
3g
display
sourceURl
imageURL
domain
SSRF漏洞的驗證方法:
1)由於SSRF漏洞是構造服務器發送請求的安全漏洞,因此咱們就能夠經過抓包分析發送的請求是不是由服務器的發送的來判斷是否存在SSRF漏洞
2)在頁面源碼中查找訪問的資源地址 ,若是該資源地址類型爲 http://www.xxx.com/a.php?image=(地址)的就可能存在SSRF漏洞
最後附帶一張SSRF漏洞導圖
部份內容摘自其餘網站