程式碼審計之SSRF

SSRF(Server-Side Request Forgery),伺服器端請求偽造,利用漏洞偽造伺服器端發起請求,從而突破客戶端獲取不到數據限制。

SSRF 形成的原因大都是由於服務端提供了從其他伺服器應用獲取數據的功能,且沒有對目標地址做過濾與限制。比如從指定URL地址獲取網頁文本內容,載入指定地址的圖片,文檔,等等。

那麼SSRF 可以做什麼呢?

內外網的埠和服務掃描

主機本地敏感數據的讀取

內外網主機應用程式漏洞的利用

內外網Web站點漏洞的利用

……

1.通讀源碼,發現collection::get_content方法,未對url的file://等偽協議進行過濾,可能存在SSRF漏洞。

2.找到調用該方法對應的功能模組頁面進行訪問,此步驟需要登錄後台管理系統。

3.添加測試數據,採取目標的數據地址為攻擊者的web頁面。

4.攻擊者的web頁面程式碼,其中a標籤的href屬性為file://偽協議,用於讀取本地文件內容。

5.返回到採集管理介面,點擊採集,讀取伺服器/etc/passwd文件內容,證明漏洞存在。

手握日月摘星辰,安全路上永不止步。