ueditor漏洞利用&源码分析详细版

渗透技巧 1年前 (2022) admin
582 0 0

ueditor漏洞利用&源码分析详细版


漏洞简介

大家都说这个漏洞是上传漏洞,其实这个不是上传漏洞,是远程文件下载漏洞。

思路类似于我们打内网的时候远程wget或者certutil直接把payload或者exe下载到目标机器上,然后运行上线。

利用参考

https://www.cnblogs.com/hei-zi/p/13394764.html

这里主要讲源码的部分。

ueditor C#版本源码解析

  • 下载好漏洞组件,进行查看

ueditor漏洞利用&源码分析详细版

里面这个controller.ashx相当于一个控制器,也就是入口点,类似于mvc架构中的controller,和thinkphp那种模式有点类似。

  • 打开看一下这个代码

ueditor漏洞利用&源码分析详细版


不同的case,就是不同的条件跳转,参数从前台用?action=config等方式传入,然后进入后台,对应不同的case,即进入不同的逻辑。

别的我们先不看,先看漏洞产生的逻辑语句。

  • 直接定位到漏洞的逻辑语句

ueditor漏洞利用&源码分析详细版

然后这里看到有个CrawlerHandler,是new出来的

ueditor漏洞利用&源码分析详细版

crtl键按住查看

ueditor漏洞利用&源码分析详细版

非常好,啥也没有,这里我对c#也不是很了解,于是我又打开原本的那个文件来看

ueditor漏洞利用&源码分析详细版

这里就找到了对应的cs文件

ueditor漏洞利用&源码分析详细版

cs文件就是c#文件的源码,c sharp = cs

然后打开看一下

ueditor漏洞利用&源码分析详细版

看不明白,但是结合之前

ueditor漏洞利用&源码分析详细版

这一行,是在实体话crawlwerhander new时候通常要调用一个构造方法,也就是和CrawlerHandler同名的一个构造方法。

这个构造方法在这里

ueditor漏洞利用&源码分析详细版

也没啥用,然后又看回去,发现一行

ueditor漏洞利用&源码分析详细版

这里调用了一个Process方法,每一个对应的cs文件中都有一个Process方法,前台参数,后台接受参数并使用。

ueditor漏洞利用&源码分析详细版

这里有个fetch方法,跟一下

ueditor漏洞利用&源码分析详细版

poc中有个特殊的的点,网上很多文章没讲清楚

传过去的参数是

1.gif?.aspx

之所以为什么是1.gif?.aspx才能生效,这里还得看源码

首先这里写明了response中的content-Type是image

也就是返回包的部分

ueditor漏洞利用&源码分析详细版

所以上传的东西必须是一个具有image文件头的东西

其次后台对于文件名的判定是通过.来判定

也就是这一行代码

ueditor漏洞利用&源码分析详细版

就用的是这个GetFileName方法

这个方法经过我的测试

ueditor漏洞利用&源码分析详细版

这个payload会被当成一个名为1.gif?的文件,但是后缀还是.asp,也就是按照asp来做解析

而这个文件,在前台1.gif?xxxxx按照浏览器的逻辑,?后面就是参数,因此前台解析这个http://127.0.0.1/xxx/1.gif?.asp

是当成图片文件来做解析的

该漏洞是由于上传文件时,使用CrawlerHandler类未对文件类型进行检验,导致了任意文件上传。升级可以防止这个漏洞产生。


往期回顾

01

frida inlinehook 巧解Android逆向题

02

无回显的任意文件上传



03


frida hook native层巧解Android逆向题


ueditor漏洞利用&源码分析详细版

雷石安全实验室

商务咨询:

0571-87031601

商务邮箱:

[email protected]



原文始发于微信公众号(雷石安全实验室):ueditor漏洞利用&源码分析详细版

版权声明:admin 发表于 2022年12月16日 下午5:01。
转载请注明:ueditor漏洞利用&源码分析详细版 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...