1. 程式人生 > 其它 >BUUCTF-[SUCTF 2019]CheckIn

BUUCTF-[SUCTF 2019]CheckIn

BUUCTF-[SUCTF 2019]CheckIn WriteUp

知識點

.user.ini 檔案

  • 用法:
    1. 先上傳一個.user.ini檔案auto_prepend_file=muma.jpg 或者 auto_append_file=muma.jpg 兩句話的作用是分別指定一個檔案包含在要進行執行的檔案的最前面或者最後面。
    1. 再上傳一個一句話木馬的jpg檔案
    2. 然後開啟此目錄下的php檔案,會發現一句話木馬圖片自動包含在裡面了。必須是此目錄下的PHP檔案。因為php尋找定義檔案的時候是從此目錄下到網站根目錄下的。如果在執行的是上傳.user.ini上面的PHP檔案,就不會掃描到.user.ini檔案,執行不了包含檔案。

題解

  • 簡單測試,判斷過濾了phtml, php .htaccess <?。而且是通過exif_imagetype()函式讀取檔案頭判斷是否為圖片

  • 那就先上傳一個正常檔案看看

  • 發現我上傳檔案的資料夾裡面竟然有一個php檔案,注意,這很重要

  • 然後上傳.user.ini檔案

  • 寫個檔案頭,繞過exif_imagetype()函式

  • 再上傳一句話木馬

  • 然後就發現有這三個檔案了,訪問index.php,muma.gif檔案就自動包含在index.php的最前面了

  • 果然如此,接下來就可以菜刀連線,或者手注了。

  • 我這裡手注

    ?cmd=system("ls /");
    ?cmd=system("cat /flag");
    或者
    ?cmd=var_dump(scandir("/"));
    ?cmd=var_dump(file_get_contents("/flag"));
    
  • 深度學習.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