UEditor于近日被曝出高危漏洞,包括目前官方UEditor 1.4.3.3 最新版本,都受到此漏洞的影响,ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字,支持自定义的html编写,移动端以及电脑端都可以无缝对接,自适应页面,图片也可以自动适应当前的上传路径与页面比例大小,一些视频文件的上传,开源,高效,稳定,安全,一直深受站长们的喜欢。
漏洞从重现
我们下载官方UEditor 1.4.3.3版本,选择.net语言的,看最后更新日期是2016-05-26,我们找台服务器搭建一下aspx环境,安装iis7.5,我们在上传文件的时候构造一个恶意的html文件,有利于我们提交数据过去:
然后我们打开html看到,需要一个远程链接的文件,这里我们可以找一个图片脚本木马,最好是一句话图片小马,把该小马文件上传到我们的网站服务器里,把文件名改为anquan.jpg?.aspx,然后复制网站链接到构造的html中去,如下图:
UEdito漏洞分析
那么UEdito漏洞到底是如何产生的呢?最主要的还是利用了IIS的目录解压功能,在解压的同时会去访问控制器文件,包括controller.aspx文件,当上传到网站里的时候,会自动解压并调用一些特殊应用的目录地址,有些目录都可以被远程的调用,我们看下面的代码:
那么该如何对UEdito漏洞进行网站漏洞修复呢?
1、升级最新版本
2、自己手动修改,如下:
在Fetch中增加是否为图片的判断,这个只是判断了路径的最后是否为.jpg等类型的图片
IsPicture的方法如下:
Config.GetStringList("imageAllowFiles") 这段是Ueditor里面就有的配置,可以获取上传图片时允许的图片类型进行判断
第二点的判断可能存在其他问题,如果网络的图片后缀名不是.jpg .png等类型的这个判断就有问题了,所以总体来说第二点的判断不是那么严谨。
总结:
以上仅代表自己的修复方式,如果有其他的方式可以告知我,也可以分享给我!