当前位置:网站首页 > R语言数据分析 > 正文

ueditor编辑器上传漏洞(ueditor在线编辑器)



UEditor 是一款颇为老旧的富文本编辑器,曾经普遍流行过所以在一些老的项目里面,还会存在。但是该项目到目前为止已经永久停止更新,所以当发现漏洞时,只能自己维护。最好停止使用并更换富文本编辑器组件,个人推荐modstart-lib/ueditor-plus、Notadd/Neditor。这些都是UEditor为核心的二次开发项目,方便升级。

网上关于这个漏洞已经有了十分详细的解释、各路大神已经指明了道路,这边简单介绍一下出现的位置与原理。

1.1出现漏洞的代码位置

文件上传漏洞影响UEditor 的.Net版本,其他版本暂未影响,漏洞出现在图中的CrawlerHandler.cs中,其中controller.ashx是入口。

ueditor 后端工程

在这里插入图片描述
UEditor 在抓取远程数据源的时候,会进入【catchimage】这个分支里面。然后就进入了漏洞出现的CrawlerHandler类中。

在这里插入图片描述

上面是CrawlerHandler类中的漏洞位置,最重要的是if判断语句,只是对ContentType进行了简单的验证,这个黑客留下了余地。

1.2 漏洞实现原理

既然在1.1中已经了解了在图片验证时只验证了ContentType,那我就可以通过工具修改ContentType,躲避掉这个判断,然后就可以进入到接下来的流程中。

而接下来就是下载到服务器操作,从而可以上传全部类型的文件,只需要你自己拥有一台服务器即可。

这个漏洞危险程度之高甚至能获取到服务器的高级权限。具体做法是修改ContentType伪装自己是图片,然后在路径里添加?.aspx绕过获取文件名的检测,然后你就能向服务器上传aspx动态页面文件,从而获取webshell,到了这一步服务器就已经被攻破了。

推荐的修复方式就是在CrawlerHandler类添加文件类型检查的代码,使用各类WAF软件增强服务器防护等级。

网上大部分关于如何添加文件类型检查都只是建议并没有具体实现,这里提供了一个简单的实现方式仅供参考。

 

尽可能小的改动量下,对类型进行验证,在此代码中:

  • 读取响应流的前几个字节。
  • 通过检查图像格式的特定魔数来判断响应是否为图片格式。

这里列举了4中类型(jpgjpeg、png、gif)进行判断,可扩展。

通过读取响应流的前几个字节来判断文件类型,实际上已经是一种相对较为安全和通用的方法,特别是在ContentType不可用或不可靠的情况下。这是因为文件头(或魔数)通常是标识文件类型的更直接和可靠的方式。

  • UEditor 任意文件上传漏洞
  • UEditor .Net版本任意文件上传漏洞
  • UEditor编辑器任意文件上传漏洞分析
到此这篇ueditor编辑器上传漏洞(ueditor在线编辑器)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • plowed是什么意思(plover什么意思)2025-01-28 07:09:06
  • tree安卓版下载(treearia下载)2025-01-28 07:09:06
  • Xavier Serrano(xavier serrano运动员)2025-01-28 07:09:06
  • qpainter(QPainter绘制图片)2025-01-28 07:09:06
  • edge损坏了怎么办(microsoft edge坏了怎么办)2025-01-28 07:09:06
  • art-al00m华为什么型号手机(华为art-al00×什么型号)2025-01-28 07:09:06
  • 数组方法slice(数组方法filter)2025-01-28 07:09:06
  • rbac权限控制(rbac 权限)2025-01-28 07:09:06
  • cruise安装步骤(cruise2010安装教程)2025-01-28 07:09:06
  • docker开机启动(docker开机启动脚本)2025-01-28 07:09:06
  • 全屏图片