淺談SSRF漏洞

SSRF漏洞是如何產生的?php

SSRF(Server-Side Request Forgery:服務器端請求僞造) 是一種由攻擊者構造造成由服務端發起請求的一個安全漏洞。通常狀況下,SSRF是要目標網站的內部系統。(由於他是從內部系統訪問的,全部能夠經過它攻擊外網沒法訪問的內部系統,也就是把目標網站當中間人api

SSRF 造成的緣由大都是因爲服務端提供了從其餘服務器應用獲取數據的功能,且沒有對目標地址作過濾與限制。好比從指定URL地址獲取網頁文本內容,加載指定地址的圖片,文檔,等等。安全

 上面的話說的有點抽象,而後說一下個人理解(可能有理解錯誤的地方,但願大佬能留言告知一下)服務器

 首先,咱們要對目標網站的架構瞭解,腦子了要有一個架構圖。好比 : A網站,是一個全部人均可以訪問的外網網站,B網站是一個他們內部的OA網站。架構

因此,咱們普通用戶只能夠訪問a網站,不能訪問b網站。可是咱們能夠同過a網站作中間人,訪問b網站,從而達到攻擊b網站需求。dom

 

正經常使用戶訪問網站的流程是:ide

輸入A網站URL --> 發送請求 --> A服務器接受請求(沒有過濾),並處理 -->返回用戶響應網站

【那網站有個請求是www.baidu,com/xxx.php?image=URL】url

那麼產生SSRF漏洞的環節在哪裏呢?安全的網站應接收請求後,檢測請求的合法性spa

產生的緣由:服務器端的驗證並無對其請求獲取圖片的參數(image=)作出嚴格的過濾以及限制,致使A網站能夠從其餘服務器的獲取數據

例如:

www.baidu.com/xxx.php?image=www.abc.com/1.jpg

若是咱們將www.abd.com/1.jpg換爲與該服務器相連的內網服務器地址會產生什麼效果呢?

若是存在該內網地址就會返回1xx 2xx 之類的狀態碼,不存在就會其餘的狀態碼

終極簡析: SSRF漏洞就是經過篡改獲取資源的請求發送給服務器,可是服務器並無檢測這個請求是否合法的,而後服務器以他的身份來訪問其餘服務器的資源

 

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)在頁面源碼中查找訪問的資源地址 ,若是該資源地址類型爲 www.baidu.com/xxx.php?image=(地址)的就可能存在SSRF漏洞

相關文章
相關標籤/搜索