web -- ssrf

web學習之SSRF


  • 最開始玩ctf接觸的就是web但是隨著開始逐漸專註於pwn,在加之web的知識體系本來就繁雜,所以準備寫一期關於web大體的知識

day1



SSRF

SSRF(Server-Side Request Forgery,伺服器端請求偽造)是一種由攻擊者構造形成由伺服器端發起請求的一個安全漏洞。一般情況下,SSRF攻擊的慕白哦是從外網無法訪問的內部系統

大部分web伺服器架構中,Web伺服器自身都可以訪問互聯網和伺服器所在的內網

SSRF形成的原因大多數是服務端提供了從其他伺服器獲取數據的功能,且沒有對目標地址做過濾和限制,該目標地址是由用戶輸入可控的


相關利用函數

1.file_get_contents()

file_get_contents() 把整個文件讀入一個字元串中。該函數是用於把文件的內容讀入到一個字元串中的首選方法。註:**也可以將url當作文本文件進行處理及可以進行遠程url的鏈接**

2.fsockopen

fsockopen — 打開一個網路連接或者一個Unix套接字連接,及實現用戶訂製的url的數據(文件/html)

3.curl_exec

執行一個cURL會話

防禦繞過

1.IP編碼繞過

+www.ip.xip.io:在xip.io前面加一個你url1,那麼就會訪問這個url1的地址

例子:訪問www.baidu.com.192.168.1.1.xip.io => 最後訪問的就是192.168.1.1這個地址

+將ip轉換為10進位

2.協議變換

*我們平時除了可以用tcp/ip協議還可以用Dict,Gopher,File協議來進行網路數據的傳輸

Gopher協議是HTTP協議出現之前,在internat上常見且常用的一個協議,但Gopher協議並沒有完全消失

Gopher協議可以做很多事情,特別是在SSRF中可以發揮很多重要的作用。利用此協議可以攻擊內網的FTP、Telnet、Redis、Memcache,也可以進行Get,Post請求

參考鏈接:

*//www.php.net/manual/zh/function.fsockopen.php
*//www.runoob.com/php/
*//www.bilibili.com/video/BV1qx411o7eu?p=6(這個影片對新手特別友善)