標籤: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所示:
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/9F/7E/wKioL1mdgzHwzb_oAALZUjN7k_Y682.jpg-wh_500x0-wm_3-wmp_4-s_2414236806.jpg" title="上傳asp失敗.jpg" alt="wKioL1mdgzHwzb_oAALZUjN7k_Y682.jpg-wh_50" />
圖1 上傳失敗
此時我們上傳失敗了,說副檔名非法(應該是白名單限制),而http請求資料包中的filetype顯示是*,不是應該都支援嗎?這時我們就使用各種方式上傳,目錄解析(通過嘗試是可以任意建立上傳的目錄名稱的)、00截斷、從左至右解析、從左至右解析。。。。。結果都失敗了!
本來以為沒有辦法了,因為通過下載設定檔web.config發現,做了白名單限制,2所示,應該是沒辦法了!
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9F/7E/wKioL1mdhSeyxedvAAC5M1iC-v8383.jpg-wh_500x0-wm_3-wmp_4-s_108673913.jpg" title="上傳檔案類型.jpg" alt="wKioL1mdhSeyxedvAAC5M1iC-v8383.jpg-wh_50" />
圖2 web.config
最後我精靈地發現(瞎貓碰到死耗子)將filetype的*直接修改為asp,然後成功上傳,3所示。
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9F/7E/wKioL1mdhdHg2bdgAAK_9fkb-HI671.jpg-wh_500x0-wm_3-wmp_4-s_2455427895.jpg" title="修改filetype.jpg" alt="wKioL1mdhdHg2bdgAAK_9fkb-HI671.jpg-wh_50" />
圖3 修改filetype上傳成功
然後我們訪問該目錄,看看是否真的上傳成功,有沒有被殺這類的,4所示,一句話確實是上傳成功了。
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9F/7F/wKioL1mdhk7CDmIYAACTqvmBY6o647.jpg-wh_500x0-wm_3-wmp_4-s_4284362953.jpg" title="測試上傳菜刀馬成功.jpg" alt="wKioL1mdhk7CDmIYAACTqvmBY6o647.jpg-wh_50" />
圖4 一句話可正常訪問
最後使用菜刀進行串連,成功擷取到一個webshell,5所示。
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/9F/7F/wKioL1mdh26jNj5cAAKmeitBXcs247.jpg-wh_500x0-wm_3-wmp_4-s_541319008.jpg" title="菜刀串連成功.jpg" alt="wKioL1mdh26jNj5cAAKmeitBXcs247.jpg-wh_50" />
圖5 成功擷取webshell
總結:
本篇文章主要是記錄一下平時的一些經驗技巧,由於經常受到固定思維的限制,每每都要到最後才會想到碰碰運氣!
本文出自 “eth10” 部落格,請務必保留此出處http://eth10.blog.51cto.com/13143704/1958799
簡單利用filetype進行檔案上傳