檔案上傳 03 伺服器檢測繞過(目錄路徑檢測)
阿新 • • 發佈:2019-02-11
本文記錄檔案上傳學習過程,教程為 《Upload Attack Framework V1.0》
檔案上傳檢測
- 客戶端javascript 檢測(通常為檢測副檔名)
- 服務端MIME 型別檢測(檢測Content-Type 內容)
- 服務端目錄路徑檢測(檢測跟path 引數相關的內容)、
- 服務端副檔名檢測(檢測跟檔案extension 相關的內容)
- 服務端檔案內容檢測(檢測內容是否合法或含有惡意程式碼)
伺服器檢測繞過(目錄路徑檢測)
簡介
目錄路徑檢測,一般就檢測路徑是否合法,但稍微特殊一點的都沒有防禦。
檢測內容:
例項,比較新的fckeditor php <= 2.6.4 任意檔案上傳漏洞:
漏洞成因是因為對目錄路徑的檢測不夠嚴謹而導致可以用0x00 截斷進行攻擊
繞過
- 主要是利用 %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
- 修改上傳目錄(IIS 6.0)
如果 html 程式碼中有一個隱藏標籤 ,這是檔案上傳時預設的資料夾,而我們對這個引數是可控的。
使用 burpsuite 將 value 值改為 pentest.php ,並提交上傳一句話木馬檔案,如果伺服器不存在此目錄,則會建立此目錄,然後將一句話木馬寫入該目錄,如果是 IIS 6.0 ,則會解析網頁木馬