BUUCTF-[MRCTF2020]你傳你馬呢 Writeup
0x00 題目
0x01 解題思路
首先上傳一個php一句話木馬,然後再進行各種繞過姿勢,當然也可以一步到胃。上一個BUUCTF的檔案上傳題目我就是一步一步來的,連結在這。
那麼這裡我就一步到胃了。
開啟proxy的截斷,然後放到repeater方便編輯請求和檢視響應。
在這裡,我做的修改有:1.把filename從1.php改成了1.phtml。2.把Content-Type改成了image/jpeg,跟上面提到的連結裡的題目不同的是,在這裡我沒有加檔案幻數和把<?php轉換為<script language="php">。
上傳檢視結果。
沒上傳成功,罵我來了,雖然罵了一半但口水已經噴到我了,必須getshell!
接下來我猜測是檔名的問題,嘗試了php3,php4,php5,phar都沒有上傳成功,那應該是隻能上傳圖片字尾名了。(至於為什麼能上傳php3,php4,php5,phtml,phar來繞過,且能被當作php檔案來解析,我將會在以後的一篇檔案上傳總結中寫出,也會在這裡貼上對應的連結,因此,待更新嘻嘻~)
所以在這裡,我上傳了.jpg,但是伺服器是不會把jpg當作php指令碼來解析的,需要有別的檔案輔助,目前我學到的是有兩種方法:1.上傳.user.ini檔案,此前提是上傳目錄中已有php檔案。2.上傳.htaccess檔案。(這兩個檔案是什麼,是幹什麼用的,是怎麼用的,我也會在以後寫出並在這裡貼上鍊接,待更新~)
在這裡,我選擇了上傳.htaccess檔案,原因是上傳目錄上沒有本有的php檔案。
上傳jpg檔案:
成功。再上傳.htaccess檔案:
以防萬一,把Content-Type改成image/jpeg。
補充一下,.htaccess檔案的內容如下:
SetHandler application/x-httpd-php
上傳成功。嘗試用蟻劍連線:
成功連上,並拿到了flag。
flag{1a5f52b9-d4db-424b-a15b-1227ae33c9dd}
最後,歡迎各位師傅指正和討論~