`

FCKEditor 2.3.2 的type漏洞修复

阅读更多

从网上下了最新的FCKeditor 2.3.2和对应的JSP整合文件FCKeditor 2.3,安装后进行测试,发现type漏洞仍然存在,汗!

  漏洞情况是:或在type后面跟上一个非file/image/flash/media参数,就可以上传任意文件,能浏览任意目录并将文件上传到这些目录下。要是上传一些病毒或是木马,嘿嘿...
  然后着手进行修改。改了几个地方:
一、 一是web.xml文件,里面有两个servlet,浏览文件用的是Connector,既然能上传任意文件,那就可以在这里做限制,因为浏览文件并不会用到SimpleUploadServlet,所以如果这里不做限制,就可以上传任意文件了。增加以下参数:
 
<init-param>
      <param-name>AllowedExtensionsFile</param-name>
      <param-value>jpg|gif|jpeg|png|bmp|swf|fla</param-value>
</init-param>
 
然后在src\com\fredck\FCKeditor\connector\ConnectorServlet.java文件里做上传的文件检测,即可解决上传任意文件问题。
//修复开始,检测在web.xml文件中指定的上传类型
String fileType="FileExt";
boolean isValidType=false;
if(extIsAllowed(fileType,ext)){
   isValidType=true;
}else{
   retVal="202";//无效类型提示
}
if(isValidType){
//修复结束
这里会用到一个extIsAllowed()函数,从src\com\fredck\FCKeditor\uploader\SimpleUploaderServlet.java文件里拷即可。另外,要在init里进行初始化:
  allowedExtensions = new Hashtable(3);
  allowedExtensions.put("FileExt",stringToArrayList(getInitParameter("AllowedExtensionsFile")));
二、二是会浏览硬盘任意目录问题,这个也在ConnectorServlet.java里,这里要限制用户进入指定目录这外的其它目录。 
//修复开始
 //修复会进入设定上传根目录的上级目录
String curRealDir=currentDir.getCanonicalPath();
String rootPath=getServletContext().getRealPath(baseDir);//网站上传的根目录
String currentRootDir=null;
if(curRealDir.length()>rootPath.length()){
    currentRootDir=curRealDir.toString().substring(0,rootPath.length());
}else{
     currentRootDir=curRealDir;
}
if(!rootPath.equals(currentRootDir)){
     //如果不在配置文件指定的根目录,则将当前根目录固定到指定根目录
     currentDir=new File(rootPath);
}
同样,也在SimpleUploaderServlet.java里做限制。以防止上传到非指定目录。
 
三、原FCKEditor上传文件后,会沿用原文件名,如果有重名,在后面加以1、2...序号,这里,我想将文件按年/月的形式存放,并在下面自动生成image、Flash等目录。而文件名也用时间戳生成。
   这里改了ConnectorServlet.java和SimpleUploadServlet.java文件,新建立一个TimeStamp类,用于生成文件名。
   这样,在浏览上传和选择上传选项,均会将文件传到如/UserFiles/2006/12/Image/20061213121444.gif的位置。
   但这样一来,浏览服务器文件就要出现问题,我的做法是,打开浏览服务器窗口时,自动进入上传文件夹,这里可以看到按年/月分类的结构。修改fckconfig.js文件,如下:
FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=/&Connector=connectors/jsp/connector' ;
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=/&Connector=connectors/jsp/connector' ;
FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=/&Connector=connectors/jsp/connector' ;
四、建立文件夹问题
  FCKEditor没有限制文件夹名称,什么乱七八糟的名称都可以,可以限制为只能用字母、数字和下划线。建立中文文件夹好象会出错,我们一般也不提倡建立中文文件夹。
分享到:
评论

相关推荐

    FCKeditor 多国语言版V2.3.2

    综上所述,FCKeditor多国语言版V2.3.2是一个强大且灵活的文本编辑工具,它为开发者提供了丰富的功能和良好的用户体验,使得非编程人员也能轻松创建和维护网页内容。其多语言支持进一步扩大了适用范围,是Web开发中不...

    fckeditor.java 2.3.2

    10. **更新和维护**:FCKeditor 2.3.2之后的版本中,开发者社区继续对其进行升级和维护,修复已知问题,增加新特性,尽管现在可能已被更现代的编辑器如CKEditor 4或TinyMCE所取代,但FCKeditor在当时是Web开发中的一...

    FCKeditor_2.3.2.zip

    其版本2.3.2是该编辑器的一个稳定版本,包含了许多增强功能和修复了已知问题,以提高用户体验和兼容性。 FCKeditor的核心特性包括: 1. **丰富的文本格式化**:用户可以轻松地对文本进行加粗、斜体、下划线、颜色...

    FCKeditor文件上传漏洞及利用-File-Upload-Vulnerability-in-FCKEditor1

    【FCKeditor文件上传漏洞及利用 - File-Upload-Vulnerability-in-FCKEditor1】 本文主要探讨了FCKeditor(现称为CKeditor)中的PHP文件上传模块存在的安全漏洞,允许攻击者绕过文件类型检查,将恶意PHP代码上传到...

    fckeditor 上传漏洞解决

    解决fckeditor 上传漏洞,类似asp;.jpg asp.jpg

    FCKeditor漏洞总结

    ### FCKeditor 漏洞总结 #### 一、概览 FCKeditor是一款非常流行的富文本编辑器,在很多网站中都有广泛的应用。然而,它的一些版本存在多种安全漏洞,这些漏洞可能导致各种安全问题,包括但不限于文件上传漏洞、...

    FCKeditor 2.6.6 可直接使用

    **FCKeditor 2.6.6:一个经典且易集成的在线文本编辑器** FCKeditor是一款在Web开发中广泛使用的开源富文本编辑器,它允许用户在浏览器环境中进行类似Word的文本编辑操作。标题提到的是FCKeditor的2.6.6版本,这是...

    FCKeditor.java-2.3.2 + FCKeditor_2.5.1 内附中文API

    FCKeditor.java-2.3.2 + FCKeditor_2.5.1 + 中文API 黄金搭档! 最近做项目需要jsp里使用编辑器,在网上搜资料 几乎前篇一律, 版本太多,一晚上没睡 调试通了!有兴趣的可以研究下!

    fckeditor2.6.3 完整版

    &lt;script type="text/javascript" src="/fckeditor/fckeditor.js"&gt; 其中路径是可更改的 2,现在,FCKEDITOR类已经可以使用了.有两个方法在页面中建立一个FCKEDITOR编辑器: 方法1:内联方式(建议使用):在页面的FORM标记内...

    Fckeditor 漏洞最新整理.

    ### Fckeditor 漏洞最新整理 #### 一、简介 FCKeditor(现更名为CKEditor)是一款广泛使用的开源富文本编辑器,在诸多网站及应用中都有其身影。然而,随着时间的发展和技术的进步,该编辑器逐渐暴露出一些安全问题...

    fckeditor漏洞测试工具

    fckeditor漏洞测试工具,填写域名即可

    fckeditor漏洞实验环境搭建

    ### fckeditor漏洞实验环境搭建详解 #### 一、FCKeditor简介 FCKeditor是一款流行的富文本编辑器,被广泛应用于各种网站系统中,用于提供用户友好的编辑体验。然而,由于其复杂的功能和配置选项,FCKeditor也存在...

    FCKeditor_2.6.3+FCKeditor-2.3.rar

    FCKeditor是一款经典的开源富文本编辑器,广泛应用于网站建设和内容管理系统中,为用户提供类似Microsoft Word的界面,方便用户在网页上编辑文本内容。FCKeditor_2.6.3+FCKeditor-2.3.rar这个压缩包包含了FCKeditor...

    最新FCKeditor_2.6 版本 FCKeditor编辑器和控件

    FCKeditor默认可以上传文件、图片、Flash和多媒体四种类型的文件,可以在SetConfig()中对AllowedTypes修改来增减允许的类型(这个类型可以在后面的TypeConfig["TypeName"]中定义,比如在AllowedExtensions属性中定制...

    FCKeditor的使用

    **FCKeditor_2.3.2**是FCKeditor的主要版本,这个版本在功能和性能上都有显著提升。它包括了更多的预置样式,更好的图片管理和上传功能,以及更完善的浏览器兼容性,支持当时的主流浏览器如Internet Explorer、Fire...

    FCKeditor_2.5

    **FCKeditor 2.5** 是一个历史悠久的开源富文本编辑器,广泛应用于网站建设和内容管理系统中,为用户提供了一种在网页上编辑文本时类似于桌面文字处理软件的体验。这款编辑器允许用户以WYSIWYG(所见即所得)的方式...

    fckeditor2.6.5 for jsp

    "Fckeditor2.6.5 for JSP"是一个用于Java服务器端的富文本编辑器,它为Web应用程序提供了强大的内容编辑功能。FCKeditor是当时非常流行的一款开源编辑器,允许用户在网页上进行类似Word的文本编辑,支持HTML、CSS、...

    jsp中配置 FCKeditor2.3(转)

    **JSP中的FCKeditor2.3配置详解** FCKeditor是一款开源的JavaScript富文本编辑器,它在Web开发中广泛用于提供用户友好的在线文本编辑功能。...同时,不断关注FCKeditor的更新和社区支持,以获取最新的特性和修复。

Global site tag (gtag.js) - Google Analytics