0x01 前言

关于.NET 版本的Ueditor漏洞,想必本行的从业人员都不陌生。
当ueditor/net/Controller.ashx存在的情况下,利用远程下载来拿shell,屡试不爽。且在HW类比赛项目中,结合google hacking语法,也可用来快速打点。

但倘若遇到一些特殊情况,例如HTTP请求不出网,导致无法远程下载自己VPS上的shell时,是否就无计可施呢
答案当然是否定的

0x02 正文

好吧,不废话。直接上场景:
利用目录遍历,发现了某站点存在Ueditor目录,且为存在.net漏洞的版本

先远程GET一波,结果发现 下载失败,服务端 返回了 500错误。

78597800.png

根据以往经验,推测此处可能是HTTP请求失败,无法建立连接导致的。
进一步验证 https://www.baidu.com/img/bd_logo1.png 同样的返回

很僵,对不对?

但其实并没有关系,DNSLog试下
当然服务端同样是500状态码,且也没那么重要

78925726.png

查看dnslog监听结果,发现了惊喜:DNS的请求是可以 突破隔离网络的

79119634.png

这说明了问题:

  • 1.目标网络中是有相应的DNS服务器的
  • 2.拿到入口后 可以利用DNS隧道 让主机上线

当然主机上线是后话,先看如何才能打下入口。

简单思考了下,既然无法外网来下载webshell,那能否通过此处请求来ssrf内网站点或者127.0.0.1来getshell呢
首先这里能否SSRF还不确定,我知道php某版本的有 而.Net不熟。。逃

当然,我也没直接尝试127.0.0.1,原因如下:
外网的端口很可能是随机转发出来的,对应在真实主机上开放的端口号,无法直接确定。另外一点,即使确定了端口号,可能也会面临着目录的问题。

想到这里,又考虑到有DNS,便想到可否利用 请求自身url,来进行shell的下载

先尝试下,利用目录遍历 找到个图片路径

79971954.png

设置souce参数为自身域名下的某个图片,发送请求。
返回 SUCCESS!!!

80170443.png

至此,一切都趋于明朗了。
拿shell的方式其实就简单的拆分为两个步骤:

  • 上传包含shell代码的 正常图片
  • 利用catchimage 漏洞,再次下载至自身服务器,改为aspx格式

上传过程略,因为正常网民都会
直接利用DNS解析问题导致的SSRF,来日自己 下载shell

uuu.png

菜刀图略,打完收工。
后来操作就是DNS隧道让主机上线了

80739321.png

0x03 总结

文中技巧其实并无特别之处,但是这里想表述的是(也是最近的一点感悟)
很多时候我们熟悉了针对某些问题的解决方式,这些方式也可以称之为经验。经验固然是好的,就像捷径。可以很快速的给予我们问题的答案。但另一方面讲,它又像牢笼,将我们的思维限制在习惯舒适的范围中。
渗透是艺术活,需要我们投入耐心 精力,但更需要 精致和灵感。

遇到问题时,多思考,解决了 便是进步。

标签: none

添加新评论