导致网站崩溃的 FCKeditor
许多网站程序,在设计时出于模块化高效设计考虑,往往借用了一些现成的第三方功能插件。比如许多网站之所以出现上传漏洞,大多是因为借用了某些存在漏洞的无组件上传插件。此外,一些第三方的功能插件,如编辑功能组件之类的,也常常是网站程序设计者所借用,但是也因此也带来了潜藏的安全危机--很有可能自己设计的程序已经足够完善安全,但第三方的组件,却在安全的壁垒上打开了一个缺口,引发整座安全堡垒的崩塌。
一,导致网站崩溃的 FCKeditor
笔者曾对某个网站论坛进行过入侵检测,这次检测经历,展示了第三方插件对网站安全性的严重影响,同时也暴漏出应用一个非常普及的 FCKeditor 插件上传漏洞。
1,发现 FCKeditor 编辑器
论坛是动网 DVBBS 8.0 论坛,已经打齐了补丁,很难再找出什么安全漏洞。在论坛首页上显示有“博客”链接,单击链接后果然打开了论坛的博客页面。
注册博客后,尝试写一篇日志,打开日志编辑页面。在编辑窗口上方,可以看到一个很熟悉的工具条,在工具条上可以选择插入图片表情,或者对文字进行一些简单的编辑。
这个工具条有一些与众不同的地方,首先,在最右边有一个“全屏编辑”的按钮;在该按钮之下有一个“源代码”编辑按钮;在最左侧有一个上拉箭头,单击该箭头,将会收缩工具条。由此可判断该日志编辑页面是调用了一个常见的网页 html 在线编辑器组件“FCKeditor编辑系统”。
用鼠标右键单击编辑编辑页面窗口工具条空白处,在弹出菜单中选择[查看源文件]命令,在打开的记事本窗口中搜索查看编辑窗口部分的源代码,可查看到 FCKeditor 的字样,由此可以确定此论坛是采用了 FCKeditor 编辑器。
2,检测上传漏洞
在博客 FCKeditor 编辑器上,单击“全屏编辑”按钮,打开全屏编辑页面。然后按下[ctrl+n]组合键即可新打开一个编辑窗口,在地址栏中可看到 FCKeditor 编辑器组件的链接地址。
在链接地址中“FCKedit”后添加链接“editor/filemanager/browser/default/browser.html”,网址变为“http://www.abc.com/**/Fckeditor/editor/filemanager/browser/default/browser.htm”,回车后如果成功显示一个上传页面的话,则说明论坛存在此漏洞。
另外,也可以在链接地址后面添加“FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp”,可检测是否使用了 FCKEditor 和配置文件是否开启。如果得到的页面是一片空白,那么 99% 可以入侵成功。
3,上传网页木马
可以利用 FCKeditor 上传漏洞,上传网页木马控制论坛:
在地址栏链接后添加漏洞利用字符串“?type=all&connector=connectors/asp/connector.asp”,将链接地址改为:
http://www.abc.com/**/FCKeditor/editor/filemanager/browser/default/browser.html?type=all&connectior=connectors/asp/connector.asp
回车后还是显示相同的上传页面,不过此时已经变破文件格式的限制,可以上传任意类型的文件了。单击页面中的[浏览]按钮,指定本地的一个网页木马 asp 文件,单击[上传]按钮,即可将 asp 木马上传到论坛服务器上。
在链接地址中,“type=all”变量是在客户端自定义的,表示在上传路径中创建了 all 这个目录,而且新的目录没有上传文件的限制。上传的木马链接地址为“http://www.abc.com/**FCKeditor/UserFiles/all/上传文件名.asp”。
另外,也可以使用桂林老兵的上传工具进行上传。运行桂林老兵的上传工具,在提交地址中输入:
http://www.abc.com/**/FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?command=fileupload&type=image¤tfolder=/
在文件字段处输入“NewFile”,选择“文件名可定义”,选择好本地文件,提交后就完成了,文件上传后的链接地址为:“http://www.abc.com/**/FCKeditor/userfiles/image/上传文件名.asp”。