四,post請求
1.打開環境,提示說發一個HTTP POST請求,ssrf是用php的curl實現的.并且會跟蹤302跳轉。
2.用dirsearch掃一下常見的端口,看到有三個可以訪問的頁面
3.構造偽協議,因為要通過172.0.0.1訪問,我們需要bp抓包來修改,先訪問一下302.php,沒有什么,再訪問flag.php,有一個key值,但是不是我們想要的東西。
4.看一下flag.php的源碼,上面說使用gopher://協議進行傳輸,修改一下
5.進行二次編碼(后面解釋),再發送post請求,即可成功。
五,上傳文件
1.提示說,需要上傳一個flag.php文件,按照之前的慣例,就是上傳一個一句話木馬,先用file協議訪問一下flag.php,看看它原本是什么,
2.看到里面有上傳文件的位置,但是沒有提交的按鈕,那就自己加一個
??? 語句: <input type="submit" value="提交">
3.上傳文件后抓包,和上一題一樣,需要兩次編碼,編碼后放包訪問就可以得到flag
六,FastCGI協議
附件:Fastcgi協議分析 && PHP-FPM未授權訪問漏洞 && Exp編寫-CSDN博客
1.進入Gopherus目錄下,先弄一個payload出來
?2.對payload編碼
?
?3.抓flag
4.二次編碼
5.輸入payload,訪問
附
gopher協議
在SSRF中經常會使用Gopher來構造GET/POST包攻擊應用
Gopherus:go語言的高效靜態代碼分析工具
1.為什么要用:
工具會對playload進行兩次url轉碼,為了繞過網址訪問時進行的url解碼,故必須再次對工具構造的playload進行url編碼。
2.使用流程
(1)kali下載:用root身份???? git clone https://github.com/tarunkant/Gopherus.git
(2)進入該目錄??????? cd Gopherus
(3)
./gopherus.py --exploit fastcgi????? 明確攻擊協議
(4)工具提示先設置可訪問的網頁文件地址(一般是php文件),然后加載命令(shell)。
文件地址:/var/www/html/index.php(一般都是這個,如果不是用其他工具掃了看)
shell:輸入ls /?????????? 看根目錄,直接輸ls應該看不到什么
(5)這樣你就得到了一個已經編碼過一次的payload,然后再編碼一次(url編碼),放到url里,就可以得到你想要的了。
(6)后面的步驟要看情況而定。
3.為什么要二次編碼
??????????????????????? kctf web方向與php學習記錄24(SSRF續)_gopher --exploit fastcgi-CSDN博客文章瀏覽閱讀645次。一,FastCGI協議根據附件提示,只要找到9000端口并監聽,然后構造可執行任意代碼的playload上傳即可。這里推薦一款神器Gopherus,安裝簡單,裝在kali里就可以了。工具會對playload進行兩次url轉碼,為了繞過網址訪問時進行的url解碼,故必須再次對工具構造的playload進行url編碼。1工具的使用首先,輸入python gopherus.py --exploit fastcgi明確攻擊協議,然后構造訪問用的playload。工具提示先設置可訪問的網頁文件地址,然后加載命_gopher --exploit fastcgihttps://blog.csdn.net/weixin_46203060/article/details/109548606