安恆月賽 image up
阿新 • • 發佈:2018-11-30
http://101.71.29.5:10007/index.php?page=login
仔細觀察這個url的話會發現,存在檔案包含。
而且並沒有login.php而是login,猜測程式碼是
<?php include str."php";
隨便賬號密碼就能登陸,來到了一個上傳頁面,只能上傳圖片,回頭看看題目
這裡的思路明確了,檔案包含加圖片馬。
在這時間統一的世界裡,上傳圖片試試吧
突然發現,並不知道圖片去哪裡了。
用為協議讀取原始碼,
http://101.71.29.5:10007/index.php?page=php://filter/read=convert.base64-encode/resource=login http://101.71.29.5:10007/index.php?page=php://filter/read=convert.base64-encode/resource=upload
注意,因為包含檔案的時候自動拼接.php,所以這裡只寫login和upload
在upload這裡我們發現程式碼實現的功能。
分割檔名和檔案字尾,然後檔名儲存為MD5(當前時間+檔名)+檔案字尾,上傳到upload目錄下邊。
這個檔名其實是可以預測的,只不過我們得稍微的爆破一下他前後左右很短的一段時間,訪問他是否存在來判斷時間是否正確。
製作一個圖片馬,上傳後立即執行指令碼。
直接包含這個圖片,發現不行,因為讀upload.php原始碼的時候會發現拼接了.php,相當於你包含了shell.jpg.php,這是一個不存在的檔案。
為了繞過拼接,我們可以用phar和zip為協議。
這樣就可以忽略.php的拼接了。。。
http://101.71.29.5:10043/index.php?page=zip://uploads/圖片.jpg%23shell密碼,然後命令執行就可以了