fckEditor漏洞修復,徹底禁用fckEditor的上傳功能(含防止Type漏洞問題)

線編輯器中,FCKeditor是我用過最爽的,也是目前互聯網上最好的編輯器,功能強大,支持多種瀏覽器, 無平臺限制,可以和多種WEB語言融合,多語言支持,而且還支持開源!^-^ 可它的確是太強大了! 以致於可以被別有用心的人輕易利用。 比如不想禁止使用文件上傳功能,請看下面內容: 環境以Asp.net開發來進行講解,步驟如下: 1、獲取文件 我們可以從http://www.fckeditor.net/download下載兩個壓縮文件,第一個是FCKeditor.Net,最新版本是2.5,它主要包含C#的源 碼,及DLL文件,我們把DLL複製到BIN目錄並將DLL添加到工具箱中,方便使用。另一個是FCKeditor 2.6,裏面包含的是FCKeditor 的腳本文件,樣式,語言等FCKeditor的雜項。我們可以對它進行精簡後,拷到WEB根目錄下就可以了。 2、FCKeditor的精簡 FCKeditor是支持多種WEB語言的,我們可以針對自己使用的語言來進行簡化,將不使用的文件刪掉,將FCKeditor_2.6解壓後,進入 到 FCKeditor文件夾下,先把以“_”爲開頭的文件夾統統刪除,這些文件夾裏放的是範例或是一些其它工具。其實也就是隻保留 editor文件夾、fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml 就可以了,最外層的精簡化完畢。 進入到editor文件夾內,先把“_source”文件夾刪除,這裏是一些源文件,對於使用來說沒什麼用處。再進入lang文件夾內,這裏 是編輯器語言外包文件,只保留 zh-cn.js、en.js、zh.js這幾個文件,這幾個文件的含義我想大家都是知道的。當然如果需要其它 語言也可以留下來。 再進入skin文件夾,這是編輯器的皮膚,如果你想使用fckeditor默認的這種奶黃色,如果想用別的,那就自己考慮了。office2003 的皮膚比較漂亮,聽說加載時速度比較慢,也可以選那擇silver,也比較好配色,速度也快。 精簡的最後一步,退出skin文件夾,再進入filemanager,進入到 connectors目錄下,保留aspx目錄,其它全部刪除。 精簡工作完成,現在看起來就賞心悅目了! 3、對編輯器進行配置, 我們將編輯器控件拖到網頁中是是不能正確運行的,必要要對其進行配置。第一個配置文件是fckconfig.js,位於FCKeditor根目錄 下。修改項包括: FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/silver/' ;(皮膚) FCKConfig.AutoDetectLanguage = true ;(自動檢測語言) FCKConfig.DefaultLanguage = 'zh-cn' ;(默認爲簡體中文) 選擇aspx就行 var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py (用來瀏覽上傳文件) var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py (用來上傳文件) 如果想設置編輯器的瀏覽功能,如瀏覽圖片、Flash,設置上傳功能,如圖片、Flash上傳,可以設置爲啓用與禁用,true爲啓用 false禁用。 FCKConfig.LinkBrowser = true; FCKConfig.ImageBrowser = true ; FCKConfig.FlashBrowser = true ; FCKConfig.LinkUpload = true ; FCKConfig.ImageUpload = true ; FCKConfig.FlashUpload = true ; 如果你的編輯器還用在網站前臺的話,比如說用於留言本或是日記回覆時,那就不得不考慮安全了,在前臺千萬不要使用Default的 toolbar,要麼自定義一下功能,要麼就用系統已經定義好的Basic,禁用文件上傳等其它比較危險的功能。當然也可以自定義,選擇 適合自己的功能。至於怎麼選,可以對照fckconfig.js文件中FCKConfig.ToolbarSets["Default"]、FCKConfig.ToolbarSets ["Basic"]的配置,應該是比較容易做到的。不用講解! 4、文件上傳的設置 在文件上傳時,我們希望將文件上傳到指定的目錄中,而且必須是經過驗證的用戶才能上傳文件,我們可以 在filemanager/connectors/aspx目錄中的config.ascx文件中進行設置,首先爲了防止沒經過驗證的用戶上傳木馬文件,我們可以 在CheckAuthentication()方法中加上對當前用戶認證,成功後返回true即可;在SetConfig()方法中,可以設置UserFilesPath來指 定保存上傳文件的路徑。上傳文件可以按目錄自動保存到對應的目錄中,如: File, Image, Flash, Media ,設置後結構如下 UserFilesPath = "~/Upload/",WEB根目錄下的Upload目錄中。 ~/Upload |-File |-Image |-Flash |-Media 另外, 上傳時有個Type漏洞, 出現上傳漏洞的地址是: http://www.xxx.com/admin/FCKedit ... aspx/connector.aspx 打開這個地址就可以上傳任何類型的文件了,馬兒上傳到的位置是: http://www.xxx.com/UserFiles/all/1.asa "Type=all" 這個變量是自己定義的,在這裏創建了all這個目錄,而且新的目錄沒有上傳文件格式的限制. 比如輸入: http://www.xxx.com/admin/FCKedit ... aspx/connector.aspx 所傳的文件就到了 http://www.xxx.com/UserFiles/monyer/ 下了 而如果這樣輸入:http://www.xxx.com/admin/FCKedit ... aspx/connector.aspx 就可以傳到網站的根目錄下,網站支持什麼腳本,傳什麼腳本的馬就可以了. 所傳的文件就到了網站根目錄下了 解決方案,刪除"FCKeditor/editor/filemanager"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章