近期公司大量网站受到***,造成很的损失。经过反复分析,发现原来是FCKEditor存在上传漏洞。这里,我针对此上传漏洞进行了修正,具体情况请见以下分析:
***表现:
接收上传的目录,发现有以“.asp;jpg”为扩展名的***文件。
***分析:
执行上传目录的“.asp;jpg”文件,发现它被当做一个正常的ASP文件执行,这应该是IIS本身的漏洞,虚机用户根本就没办法处理。那么,我们只能从文件创建的角度处理了。于是我就开始分析FCKEditor的上传功能。FCKEditor上传检测,是通过黑色单/白名单的方式检测允许和不允许上传的文件类型。
上传支持文件:class_upload.asp Private Function IsAllowed(sExt) Dim oRE Set oRE = New RegExp oRE.IgnoreCase = True oRE.Global = True If sDenied = "" Then Set oRE = Nothing |
通过上面的代码,我们明显可以看出,FCKEditor白名单检测不够严谨,所有文件扩展名里包含白名色单列表值的,都可以通过此验证,这就造成了类似“.asp;jpg、.asp;gif”等文件可以通过FCKEditor的图片上传功能传至网站,而IIS本身又有无法正常识别“.asp;jpg”的漏洞。结果自然也就不需要我说了。
解决办法:
本文以ASP版为例,上传支持文件地址:
fckeditor\editor\filemanager\connectors\asp\class_upload.asp
知道了漏洞,那么我们处理起来,也就相对简单起来。只要完善FCKEditor的上传检测即可。
上传支持文件:class_upload.asp Private Function IsAllowed(sExt) Dim oRE Set oRE = New RegExp oRE.IgnoreCase = True oRE.Global = True If sDenied = "" Then Set oRE = Nothing |
引用:http://www.antsoftcn.com/Experience/201005/FCKEditorUploadBug.html
http://hi.baidu.com/gzqsd/blog/item/d0485ffd669aecf4fc037fdd.html
http://www.cnblogs.com/downmoon/archive/2008/05/23/1205784.html
转载于:https://blog.51cto.com/eagoogle/572523