前言
信息较敏感,仅文字记录 某单位的授权渗透测试,请勿用于非法用途
ueditor | github
一、漏洞
ueditor net 版本文件上传
二、渗透测试
- 第一天在测试一个系统的时候,发现URL里面有一个
ueditor ,但是名称和路径都修改过 - 点击上传图片的时候,试了挺多种方式都没法绕过限制,就放弃文件上传去试其他的漏洞了
- 第二天的时候,百度了一下发现
ueditor 已经没有进行更新了 并且最新版本还是存在漏洞的,所以还是试了一下 - 漏洞点是存在于
ueditor/net/controller.ashx?action=catchimage ,在检测之前需要有一个具有公网IP的VPS服务器 如果是内网的机器,就只需要用自己的电脑就行 - 先在服务器上创建一个图片马,内容是恶意代码,但后缀必须是图片后缀
然后使用python在图片马的路径下,在终端开启http服务,让测试目标能够访问到图片马 访问图片马的方式和正常访问页面是一样的http://你的服务器IP:端口/文件
python2开启http:
python -m SimpleHTTPServer [端口]
python3开启http:
python -m http.server [端口]
- 在抓取文件上传包的时,发现目标系统还必须有一个
encode=utf-8 的参数,要不然会上传失败 不同的系统应该不大一样,测试目标有杀软,起初以为传失败了,换了个免杀马后就成功了 - 大致的思路:
上传时没有检测文件test.png 内容,上传文件后后缀被修改成了恶意的后缀.asp (.aspx 应该也行,还是得看目标能解析什么后缀) 返回的json格式数据中有url参数写明上传后的路径,并且上传的目录能够解析这个脚本 如果能上传又能解析的话,就是高危了
POST 路径/ueditor/net/controller.ashx?action=catchimage&encode=utf-8 HTTP/1.1
....请求头...
source[]=http:
三、修复建议
- 更换一个较为安全的编辑器(推荐)
- 设置上传的目录为只读,禁止写入
- 检查上传的路径是否存在畸形文件并删除,如asp、aspx等后缀的文件
- 找到controller.ashx源码,当action为catchimage的时候,添加代码对文件头、文件后缀、cookie等信息进行校验(未测试过,可能会造成无法上传文件,不推荐)
|