淘先锋技术网

首页 1 2 3 4 5 6 7
最近,网络Circle中流传着一个让人心惊胆战的消息——fckeditor存在漏洞,通过这一漏洞,被恶意攻击者利用的话就有可能对我们的网站造成难以预测的威胁。以下,我将为大家介绍,它到底是什么漏洞,以及我们如何有效地解决它。 fckeditor是一个功能强大、易于使用的富文本编辑器,在许多网站中广泛应用。然而,由于其代码中存在某些有潜在漏洞的部分,这个看上去华丽的编辑器实际上可能会成为黑客入侵的“钥匙”。举例来说,在我们使用fck编辑器的表单处输入一些恶意脚本之后,通过提交表单就可以让这些脚本被执行,从而间接导致了我们本不想看到的结果。 在代码审查这方面,以下是两个我们在fckeditor源码中所发现的隐患:
2.4.4 /browser/index.html
251.   if ( includeFiles[i].length >= 5
252.           && includeFiles[i].substring( includeFiles[i].length - 5 ) == ".html" )
253.      { fckLink.Rel = "stylesheet" ; fckLink.Type = "text/html" ; }
254.   else if ( includeFiles[i].length >= 4
255.           && includeFiles[i].substring( includeFiles[i].length - 4 ) == ".css" )
256.      { fckLink.Rel = "stylesheet" ; fckLink.Type = "text/css" ; }
可见,这里的代码未对用户输入进行过滤检查,直接将其作为了判定语句的参数,给了黑客执行恶意脚本的机会。 另外,在fckeditor的upload PHP文件中也存在类似的漏洞,代码如下:
if ( !FCKEditor_IsValidFileExtension( $uploadData["FileName"], $Config["_AllowedExtensions"] ) )
{
echo "Invalid file type." ;
exit ;
}
这一代码中的Isvalidfileextension函数同样没有对用户的输入进行正则化处理,造成了潜在的漏洞。 为解决这些漏洞,我们需要正对它们采取一系列有效的安全措施,具体如下: 一、更新fckeditor的代码 在新版本的fckeditor中,对这一漏洞的修复进行了大量的改进,这一点我们必须引起足够的重视。所以,如果我们要继续使用fck的话,最好能够及时升级到最新的版本。 二、输入过滤检查 在我们利用fckeditor上传附件的时候,不管是输入文字、URL、文件,每一个都需要进行输入过滤检查,避免恶意脚本被引用。为了实现这一目标,我们可以利用时下流行的编程语言自带的内置函数,或是使用开源框架、第三方插件等。 三、缩小文件上传范围 只允许最少的必须文件上传,能减少真正恶意文件上传的可能性。 四、调整文件和目录访问权限 合理地规定文件系统和目录的管理权限等操作,有利于有效地减轻攻击者对文件系统和其他相关系统的攻击危害。 总体而言,在使用fckeditor的过程中,我们要时刻保持对其漏洞和安全问题的静态监测,不断更新自己的安全防线。只要对这一问题保持足够的重视和处理,就可以将这一安全问题降至最低,保障我们的网站与客户的权益。