很久没有写过技术文章了。
FCKedtior的 ASP.NET下的安全问题主要有以下几点
FCKeditor不止支持asp.net!建议删除无关文件。
FCKeditor根目录下仅保留以下文件夹及文件:
找到
另外
以上这些部分大家都自己会改,网上也有很多文章,下面说的最为人忽视的部分:
即关于上传处理部分。
大家知道ASP.NET下使用还需要一个FCKedtior.NET压缩包,里面是一个项目文件,普通人使用只是简单把DLL文件置入工具栏。很少有人去更改项目内容的, 其实只要你打开项目看看上传部分就可以看到任何人的任何格式的文件都会被保存,即没有上传权限和上传文件过滤控制。
实际修改都是根据自己需要进行修改的,上传文件有两个文件要处理:
FileBrowserConnector.cs 这个关联到编辑器中“浏览服务器”时的相关上传
Uploader.cs 这个是“上传到服务器”处理。
具体我也不多说,提个醒。
本人的BLOG只限登录用户上传文件,允许用户上传任何文件,但如aspx等文件会被自动打成压缩包。有自己服务器的用户没必要这么麻烦,只要将上传目录去掉脚本运行权限即可以防止一些恶意文件。
FCKedtior的 ASP.NET下的安全问题主要有以下几点
- 默认FCKeditor的文件未整理问题
- 上传文件的权限问题
- 上传文件的格式问题
FCKeditor不止支持asp.net!建议删除无关文件。
FCKeditor根目录下仅保留以下文件夹及文件:
- 目录editor
- 文件fckconfig.js
- 文件fckeditor.js
- 文件fckstyles.xml
- 文件fcktemplates.xml
- 建议也保存版权声明文件license.txt
- 保留 filemanager/browser/default/connectors/aspx目录,其它删除
- 保留 filemanager/upload/aspx目录,其它删除
找到
var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php
将asp改成aspx
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php
另外
FCKConfig.LinkUploadAllowedExtensions = "" ; // empty for all
FCKConfig.LinkUploadDeniedExtensions = ".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$" ; // empty for no one
FCKConfig.ImageUpload = true ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Image' ;
FCKConfig.ImageUploadAllowedExtensions = ".(jpg|gif|jpeg|png)$" ; // empty for all
FCKConfig.ImageUploadDeniedExtensions = "" ;
貌视修改以上这些就可以解决上传文件格式的问题,其实懂一点的人完全都可以自己构造表单而避过Fckeditor编辑器直接向upload.aspx文件发送文件,况且
FCKeditor本身就带了这种文件!
FCKConfig.LinkUploadDeniedExtensions = ".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$" ; // empty for no one
FCKConfig.ImageUpload = true ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Image' ;
FCKConfig.ImageUploadAllowedExtensions = ".(jpg|gif|jpeg|png)$" ; // empty for all
FCKConfig.ImageUploadDeniedExtensions = "" ;
以上这些部分大家都自己会改,网上也有很多文章,下面说的最为人忽视的部分:
即关于上传处理部分。
大家知道ASP.NET下使用还需要一个FCKedtior.NET压缩包,里面是一个项目文件,普通人使用只是简单把DLL文件置入工具栏。很少有人去更改项目内容的, 其实只要你打开项目看看上传部分就可以看到任何人的任何格式的文件都会被保存,即没有上传权限和上传文件过滤控制。
实际修改都是根据自己需要进行修改的,上传文件有两个文件要处理:
FileBrowserConnector.cs 这个关联到编辑器中“浏览服务器”时的相关上传
Uploader.cs 这个是“上传到服务器”处理。
具体我也不多说,提个醒。
本人的BLOG只限登录用户上传文件,允许用户上传任何文件,但如aspx等文件会被自动打成压缩包。有自己服务器的用户没必要这么麻烦,只要将上传目录去掉脚本运行权限即可以防止一些恶意文件。