1. 程式人生 > >簡單利用filetype進行文件上傳

簡單利用filetype進行文件上傳

filetype webshell 文件上傳

對於文件上傳大家都很熟悉了,畢竟文件上傳是獲取webshell的一個重要方式之一,理論性的東西參考我的另一篇匯總文章《淺談文件解析及上傳漏洞》,這裏主要是實戰補充一下理論內容——filetype漏洞!

filetype漏洞主要是針對content-type字段,主要有兩種利用方式:
1、先上傳一個圖片,然後將content-type:image/jpeg改為content-type:text/asp,然後對filename進行00截斷,將圖片內容替換為一句話木馬。

2、直接使用burp抓包,得到post上傳數據後,將Content-Type: text/plain改成 Content-Type: image/gif。

這裏補充一個簡單的利用filetype可控來進行任意文件上傳,之前在ctf中遇到過,但是以為在實際環境中應該是不會出現的,可惜還是被我遇到了!

實驗環境:asp,iis7.5,windows 2008 r2

當我們找到一個上傳點時,我們上傳一個asp的一句話馬,對應的http請求數據包如下,如圖1所示:

技術分享

圖1 上傳失敗

此時我們上傳失敗了,說擴展名非法(應該是白名單限制),而http請求數據包中的filetype顯示是*,不是應該都支持嗎?這時我們就使用各種方式上傳,目錄解析(通過嘗試是可以任意創建上傳的目錄名稱的)、00截斷、從左到右解析、從左到右解析。。。。。結果都失敗了!

本來以為沒有辦法了,因為通過下載配置文件web.config發現,做了白名單限制,如圖2所示,應該是沒辦法了!

技術分享

圖2 web.config

最後我精靈地發現(瞎貓碰到死耗子)將filetype的*直接修改為asp,然後成功上傳,如圖3所示。

技術分享

圖3 修改filetype上傳成功

然後我們訪問該目錄,看看是否真的上傳成功,有沒有被殺這類的,如圖4所示,一句話確實是上傳成功了。

技術分享

圖4 一句話可正常訪問

最後使用菜刀進行連接,成功獲取到一個webshell,如圖5所示。

技術分享

圖5 成功獲取webshell

總結:

本篇文章主要是記錄一下平時的一些經驗技巧,由於經常受到固定思維的限制,每每都要到最後才會想到碰碰運氣!

本文出自 “eth10” 博客,請務必保留此出處http://eth10.blog.51cto.com/13143704/1958799

簡單利用filetype進行文件上傳