1. 程式人生 > >檔案上傳 03 伺服器檢測繞過(目錄路徑檢測)

檔案上傳 03 伺服器檢測繞過(目錄路徑檢測)

本文記錄檔案上傳學習過程,教程為 《Upload Attack Framework V1.0》

檔案上傳檢測

  1. 客戶端javascript 檢測(通常為檢測副檔名)
  2. 服務端MIME 型別檢測(檢測Content-Type 內容)
  3. 服務端目錄路徑檢測(檢測跟path 引數相關的內容)、
  4. 服務端副檔名檢測(檢測跟檔案extension 相關的內容)
  5. 服務端檔案內容檢測(檢測內容是否合法或含有惡意程式碼)

伺服器檢測繞過(目錄路徑檢測)

  1. 簡介

    目錄路徑檢測,一般就檢測路徑是否合法,但稍微特殊一點的都沒有防禦。

    檢測內容:

    例項,比較新的fckeditor php <= 2.6.4 任意檔案上傳漏洞:

    漏洞成因是因為對目錄路徑的檢測不夠嚴謹而導致可以用0x00 截斷進行攻擊

  2. 繞過

    1. 主要是利用 %00 截斷攻擊

    當 POST 下面的 URL 的時候

    /fckeditor264/filemanager/connectors/php/connector.php?Command=FileUpload&Type=Image&CurrentFolder=fuck.php%00file.jpg HTTP/1.0

    伺服器端的 php 程式碼未進行檢測就被直接寫入檔案系統了

    此時的 content-type 還是 image/jpeg,但是檔名已經被截斷了,最終上傳的檔案是 fuck.php

    1. 修改上傳目錄(IIS 6.0)

    如果 html 程式碼中有一個隱藏標籤 ,這是檔案上傳時預設的資料夾,而我們對這個引數是可控的。

    使用 burpsuite 將 value 值改為 pentest.php ,並提交上傳一句話木馬檔案,如果伺服器不存在此目錄,則會建立此目錄,然後將一句話木馬寫入該目錄,如果是 IIS 6.0 ,則會解析網頁木馬