实战分享 | 记一红蓝对抗之Solr-RCE实战绕过(建议收藏)
2022-9-8 20:51:53 Author: EchoSec(查看原文) 阅读量:13 收藏

文章来源:潇湘信安
该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

文章来源:先知社区(G0mini)

原文地址:https://xz.aliyun.com/t/11546

0x01 前言

在某次红蓝对抗过程中,要结束的时候突然发现了扫描器爆出了Solr-RCE-CVE-2019-0192漏洞。

但是进行测试过程中发现存在各种各样的问题。

0x02 绕过1

进行测试发现目标只可以执行单命令,返回字段比较少的命令。

whoamiipconfig

执行dir,无法执行。

注:想着直接执行ps直接上线就好了,各种尝试之后,后知后觉发现对方不出网

0x03 写Webshell

发现目标不出的时候,只有写webshell这一条路子可以走了。但是目标只能执行个别命令还无法解决。

dir无法执行,陷入了沉思,加入单双引号也不行。根据以前的内网经验是不是系统无法默认调用到dir.exe。

那么 cmd /c dir是不是可以。
惊奇的发现,可以完美的执行命令。通过dir找到目录进行写马尝试。
但是发现目标路由规则写死了法直接访问到.jsp的文件。
刚开始以为是根目录的问题,发现不止根目录,常用的css/js和img下面的也不行。
后续在webshell中看到,翻文件看到了有类似路由机制的验证

0x04 言归正传

在执行rce的时候,找到了solr的目录,发现这里的.jsp是没有这个验证的。

利用命令执行进行找到该位置,进行写文件。问题来了。echo 写入一直无法写入。。
问题解决:把这里的特殊字符进行编码后即可成功写入。
又遇到一个问题,jsp的马子都有%号,这里不论怎么做 %就是写不进去。差点放弃,找不到不带%的马子。

0x05 柳暗花明

但是想到了上午利用过的Certutil可以进行编码解码,这样就没有特殊字符了。

完全没问题,刚开始一点一点追加,发现下面的会写进去两行
看了一下就最后有一个+号,没有特殊字符,全部直接写进去。
然后decode进行解码,完美。
访问但是是500,不过确很开心,因为确实写上来。
接下来解决为啥500就可以了,type 123.jsp查看一下。
发现最后decode的时候,少了一个>本地测试,是没有这个问题的。可能是目标一次性字符长度的问题。

这里很简单了,追加一下就可以了。
连接成功

0x06 验证

如侵权请私聊公众号删文

我知道你在看


文章来源: http://mp.weixin.qq.com/s?__biz=MzU3MTU3NTY2NA==&mid=2247485735&idx=1&sn=bba9d785f3c09fee787a76e62e8b8dcb&chksm=fcdf5538cba8dc2e124475021ba0f2e54fd99e1be902b2985d196b6cbfab9cbab73b61e916d8#rd
如有侵权请联系:admin#unsafe.sh