UEditor被曝出高危漏洞,包括目前官方UEditor 1.4.3.3 最新版本,都受到此漏洞的影响,ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字,支持自定义的html编写,移动端以及电脑端都可以无缝对接,自适应页面,图片也可以自动适应当前的上传路径与页面比例大小,一些视频文件的上传,开源,高效,稳定,安全,一直深受站长们的喜欢。
百度的UEditor文本编辑器,近几年很少被曝出漏洞,事情没有绝对的,总会有漏洞,这次被曝出的漏洞是.net版本的,其他的php,jsp,asp版本不受此UEditor的漏洞的影响,.net存在任意文件上传,绕过文件格式的限制,在获取远程资源的时候并没有对远程文件的格式进行严格的过滤与判断,攻击者可以上传任意文件包括脚本执行文件,包括aspx脚本木马,asp脚本木马,还可以利用该UEditor漏洞对服务器进行攻击,执行系统命名破坏服务器,由于漏洞危害严重性较高,受害网站较多,对于该漏洞的分析与复现如下:
我们找台服务器搭建一下aspx环境,安装iis7.5,我们在上传文件的时候构造一个恶意的html文件,有利于我们提交数据过去:
然后我们打开html看到,需要一个远程链接的文件,这里我们可以找一个图片脚本木马,最好是一句话图片小马,把该小马文件上传到我们的网站服务器里,把文件名改为anquan.jpg?.aspx,然后复制网站链接到构造的html中去,如下图:
点击submit,直接上传成功,并返回我们的aspx脚本木马路径地址,
我们打开就可以使用了。
那么UEdito漏洞到底是如何产生的呢?最主要的还是利用了IIS的目录解压功能,在解压的同时会去访问控制器文件,包括controller.aspx文件,当上传到网站里的时候,会自动解压并调用一些特殊应用的目录地址,有些目录都可以被远程的调用,我们看下面的代码:
那么该如何对UEdito漏洞进行网站漏洞修复呢?
1.目前临时的漏洞修复是建议,把文件上传目录设置无脚本执行权限,uploadvideo、uploadimage、catchimage、uploadscrawl、uploadfile、等等目录都设置上无脚本权限。
2.在百度UEditor官方没有出补丁前,设置图片目录为只读,禁止写入。
3.修改程序的源代码,对crawlerhandler源文件进行文件上传格式的严格过滤与判断。
PS:本项目修复方法
本项目为前后分离,最终没有调用UEditor的上传方法。
删除本项目UE的一般处理程序ashx和前端的后台方法。
关于UEditor的漏洞测试文件,可以私下交流。