干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击
2023-3-13 10:31:45
Author: 编码安全研究(查看原文)
阅读量:31
收藏
原文地址:https://forum.butian.net/share/889七一重保期间,某合作公司向我司紧急求救,APT系统出现攻击告警,现场工作人员发现有ip针对他们系统进行Ueditor 文件上传漏洞攻击,并成功上传木马文件。于是我只能又又又背上电脑出发了(苦逼的网安人)。1、提前在电话中与客户沟通情况,建议能否先将服务器的外部通信关闭,避免再出现一些其它问题,客户同意了我的建议,简单粗暴的将服务器关闭了。
3、将服务器重新启动,先将外网通道关闭,然后进入以下路径,查看问题文件。发现就是普通的冰蝎aspx马子,悬着的心也放下一半。4、对于文件列表中的一些有问题的文件,都先保存在了本地,然后将服务器中的文件进行了删除处理,在其中发现一些关于黄赌毒的黑页。6、对攻击者IP和上传文件的域名进行分析,在威胁情报平台上都显示为恶意。发现只是一个gif文件和冰蝎aspx马子合成的图片马。ueditor的官方网站已经停止访问了,但是我们可以在github上下载源码包:https://github.com/fex-team/ueditor/releases/tag/v1.4.3.3
1、我们首先来看net/controller.ashx 文件,我们可以看到第14行接收了一个名为action参数。2、然后action会通过switch case去判断,当action等于catchimage(远程文件抓取)时,执行以下代码我们去CrawlerHandler中查看,我们发现当Sources为空或长度为零时,返回"参数错误:没有指定抓取源"所以我们测试漏洞是否存在的时候,会访问Ueditor/net/controller.ashx?action=catchimage,查看返回包是否为"参数错误:没有指定抓取源"3、当source的值不等于空的时候,就执行下面代码4、我们定位到Crawler方法处,65行是创建一个请求,将响应内容赋值给response5、观察下面的这行代码,它是从响应里的ContentType去匹配是否有image。6、如果是image,进入下面一行代码,会将文件保存在服务器中,所以只要自定义下ContentType:image/jpeg,就可以抓取任意类型的文件了,就造成了任意文件上传漏洞tips:
可能有些朋友会有疑惑,为什么常见的利用方式是上传xxx.gif?.aspx,因为文件的后辍名是通过截断最后一个 . 来获取的(我们通过查看GetFileName()的官方文档发现,该方法是通过截取url中最后一个.来获取文件名的),url里面xxx.gif?.aspx会被默认当成xxx.gif解析但是传递给我们的文件却是.aspx结尾的文件。1、首先访问Ueditor/net/controller.ashx?action=catchimag,发现返回"参数错误:没有指定抓取源",证明存在文件上传漏洞。
2、先上传一个html页面试一下,可以看到上传成功。1、由于系统开发商赶来还需要一段时间,所以先从软件层面将漏洞修补一下。
配置防火墙策略,禁止外网ip访问admin目录(漏洞存在于admin目录下)2、禁止外网IP访问f_load目录(上传后的文件存在于f_load目录)。3、当用户访问admin/Ueditor/net/controller.ashx?action=catchimage时,跳转到admin/Logout.aspx页面4、当开发人员到达现场后,立即让他们将上传成功后的回显关闭了。当遇到类似的应急响应事件后,可以按照以下几个步骤进行处理:
- 1、先对需要处理的事件现场情况进行详细的了解,与客户商量先将受害服务器进行断网关机处理,如果有主机安全管理设备,先对所有主机资产进行病毒查杀。
- 2、先将木马文件、可疑文件保存本地,然后将服务器上的可疑文件进行清除。
- 3、分析木马文件是哪种类型的木马,会造成什么危害,再做出下一步处置。
- 5、先使用waf、防火墙等设备紧急修复漏洞,再等研发人员来彻底修复漏洞。
文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NDY1MDc2Mg==&mid=2247501518&idx=1&sn=4f019a392c629d2d6e78cae063208ac6&chksm=ce6495abf9131cbd948db346998d2d83f2c3dc5bf9f3126747026ad1abcea9c82c2ab1fdbb1f#rd
如有侵权请联系:admin#unsafe.sh