FCKeditor風雲

 前段時間,IIS解析漏洞被披露出來。IIS解析漏洞就是把shell文件命名爲test.asp;z.jpg,test.asp;_gif之類格式的文件,會被當做asp,php,aspx等動態文件解析的問題。對於FCK來講,這個漏洞應當是起到了助紂爲虐的作用。fckeditor可能是當今各大站長使用的最爲廣泛的一款網頁編輯器,其兼容性和易用性廣爲人知,但同時衆所周知的是他的安全性也被人廣爲詬病。IIS解析漏洞和FCK上傳文件問題這兩者的結合鑄就了江湖太多太多的血雨腥風。前段時間安全中國,NOD32網站等網站被***,聽說都是因FCK所累,真不知有多少大站倒在fck的石榴裙下,網絡安全有點觸目驚心的味道。

     FCK的問題與IIS的解析漏洞有着密切的關係,自IIS解析漏洞披露後,fck就遭受了新一輪衝擊。由於fck對上傳文件的擴展名檢查不嚴格,導致了一些畸形文件名文件的上傳,比如上面說道的test.asp;z.jpg,而由於IIS解析漏洞的原因,IIS會把這種格式的文件當做動態文件解析。FCK修正了一次之後,又出現了二次上傳漏洞,就是第一次會把擴展名中多餘的”.“替換成”-“,但是如果再傳一次同樣的文件,則不替換。對上傳文件過濾似乎有所加強,出現invalid file彈窗的機率大爲增加,但是還是有辦法突破,這都歸責於fck的致命問題:上傳文件沒有重命名!對於突破上傳,網上有個朋友介紹了一個相當好的辦法,那就是利用edjpgcom插入一句話到圖片,這個圖片還可以遊覽,fck根本無法檢測出,非常好的一個僞裝辦法,edjpgcom.exe這個程序刀城有朋友傳上來了,在cmd下使用,直接拉圖片到程序也是可以的。
     前幾天遇到一個fck的一個新情況,是什麼呢?重命名了,我不是很確認這是官方的版本還是自己修改的版本,FCK把所有的文件都重命名存放,截圖看下
 


 

 
可以看到嚴重的問題,雖然重命名,但是沒有過於擴展名,真是奇怪,asp,cer,aspx都可以上傳。
 
測試了一下,aspx可以運行,說明上傳不是假的。
本人感覺這個應當是某些網站自己修改了上傳頁面,纔會導致這麼大的疏忽,在這也請各個站長注意了。

說到FCK,幾個老問題不得不說,雖然是陳年舊事,但是還是被很多站長們常常疏忽。對於FCK我會查找3個頁面:fckeditor.html,test.html和browser.html

首先說test.html的問題,看文件名就知道,這是fck的測試文件,可能出於疏忽,作爲產品發佈了,從此很多使用此編輯器的網站也就存在了這個頁面。這個頁面非常危險,可以直接上傳動態文件。
test.html存在2個不同版本,第一個版本的默認路徑是FCKeditor/editor/filemanager/connectors/test.html,這是一個在FCK中比較常見的問題文件。

如圖,直接選擇本地文件上傳,有時候不成功可以多測試幾次connector,有時候可能關閉了asp,只開啓了aspx;對於resouse type也是一樣,或者只是開啓了file或者image其中一個類型的上傳。怎麼獲取上傳地址呢?已經很明顯了,點擊”get folders and files“就將返回當前上傳文件的地址。

另外一個版本的test.html,相對較少,他的默認路徑是FCKeditor/editor/filemanager/upload/test.html 

從圖片可以看出,上傳後會直接返回上傳的路徑,所以利用非常方便。

下面說fckeditor.html和browser.html,
先說browser.html,他的默認路徑一般是FCKeditor/editor/filemanager/browser/default/browser.html?Type=file&Connector=connectors/asp/connector.asp
這裏是利用asp連接器,類型選擇爲”file“,打開後如下圖


 
可以看到下面有一個上傳的地方,如果rp沒有問題,那麼就可以上傳成功,那麼怎麼獲取上傳之後的地址呢?這是一些朋友迷惑的問題
FCK是利用xml列出文件的,在連接器中有這樣一個命令”GetFoldersAndFiles",就是列出文件夾和文件。可以嘗試運行下面的命令
editor/filemanager/browser/default/connectors/php/connector.php?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
如果行的話就會列出文件路徑。

另外可以摸石頭過河,根據經驗瞎猜默認路徑;翻一翻網站,找找相似的圖片,說不定路徑就出來了;再或者試試網頁嗅探器。

下面說說fckeditor.html。fckeditor.html的默認路徑一般是fckeditor/editor/fckeditor.Html ,就我而言,只有當fckeditor.html無法利用,比如刪除了,或者打開是一片空白,我纔會查找browser.html。

理由有3:
第一,連接器的選擇問題,如果用browser.html,你首先的測試哪一個Connector是可用的。而在fckeditor.html中,如果正常的話他有一個上傳圖片的功能,點擊打開上傳圖片對話框
 
可以看到一個”brows server“ 按鈕,點擊打開之,就會是正確的browser.html,他會自動選擇正確的連接器。

第二,上面說到的browser.html中獲取上傳路徑的問題,從上傳圖片對話框中打開browser.html後,雙擊列出的文件,就將自動複製地址給”鏈接“或者“圖像”,如上圖中所示,在這裏爲相對路徑爲/upload/File/24filmru1377.html

第三,他同樣具有上傳圖片的地方,雖然沒browse.html方便,可以測試多個類型文件


 
上傳之後,會直接在”圖像“欄中顯示上傳地址 。


對於這個FCK的利用就說到這裏了,下面說安全

1,首先要刪除上面說到的2個test.html,這2個文件對網站有百害而無一利

2,對於文件的上傳,我們可以關閉FCK的上傳功能。關閉是在各個連接器的config文件中,比如asp連接器,editor/filemanager/browser/default/connectors/asp/config.asp,將config.asp中的ConfigIsEnabled的值設置爲False。各個連接都需要關閉!當然最好的辦法是刪除filemanager這個文件夾,徹底解決FCK的上傳,不過這樣FCK也就無法上傳了

3,如果想使用FCK上傳,那麼就得修改相應的config文件。限制各個動態文件的上傳,重命名文件。

4,如果你有服務器權限,那麼取消FCK上傳目錄的“腳本”權限,雖上傳,但是已無法運行。
 
 
by  daokers
2010-02-05
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章