注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

火山左儿

学无止境

 
 
 

日志

 
 

FCKEditor最新上传漏洞(ASP),允许上传“.asp;jpg”类型文件解决方案  

2011-09-05 14:40:35|  分类: 计算机应用问题 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

近期公司大量网站受到攻击,造成很的损失。经过反复分析,发现原来是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
   oRE.Pattern = sAllowed
   IsAllowed = (sAllowed = "") Or oRE.Test(sExt)
  Else
   oRE.Pattern = sDenied
   IsAllowed = Not oRE.Test(sExt)
  End If

  Set oRE = Nothing
 End Function

通过上面的代码,我们明显可以看出,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
   oRE.Pattern = "^("&sAllowed&")$"
   IsAllowed = (Not sAllowed = "") And oRE.Test(sExt)
  Else
   oRE.Pattern = sDenied
   IsAllowed = Not oRE.Test(sExt)
  End If

  Set oRE = Nothing
 End Function

  评论这张
 
阅读(847)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018