某次红蓝对抗之Solr-RCE实战绕过
2022-11-24 09:2:21 Author: 橘猫学安全(查看原文) 阅读量:18 收藏

前言

在某次红蓝对抗过程中。
要结束的时候突然发现了扫描器爆出了
Solr-RCE-CVE-2019-0192漏洞。
但是进行测试过程中,发现存在各种各样的问题

绕过1

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

执行dir,无法执行。


不出网

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

写websgell

发现目标不出网的时候,只有写webshell这一条路子可以走了。
但是目标只能执行个别命令还无法解决。
dir无法执行。陷入了沉思,加入单双引号也不行。
根据以前的内网经验是不是系统无法默认调用到dir.exe。
那么 cmd /c dir是不是可以。

惊奇的发现,可以完美的执行命令。
通过dir,找到目录。进行写马尝试。
但是发现目标路由规则写死了,无法直接访问到.jsp的文件。

刚开始以为是根目录的问题。
发现不止根目录,常用的css/js和img下面的也不行。

后续在webshell中看到,翻文件看到了有类似路由机制的验证

言归正传

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

利用命令执行进行找到该位置,进行写文件。
问题来了。echo 写入一直无法写入。。

问题解决
把这里的特殊字符进行特殊字符编码,即可成功写入。
又遇到一个问题。jsp的马子都有%号,这里不论怎么做 %就是写不进去。
差点放弃。找不到不带%的马子。

柳暗花明

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

完全没问题。
刚开始一点一点追加,发现下面的会写进去两行
看了一下就最后有一个+号,没有特殊字符。
全部直接写进去。
然后decode进行解码,完美。

访问但是是500.不过确很开心,因为确实写上来。

接下来解决为啥500就可以了。
type 123.jsp
查看一下。

发现最后decode的时候,少了一个>
本地测试,是没有这个问题的。可能是目标一次性字符长度的问题。
这里很简单了。
追加一下就可以了。

连接成功

验证

来源:先知(https://xz.aliyun.com/t/11546#toc-0)

如有侵权,请联系删除

推荐阅读

实战|记一次奇妙的文件上传getshell
「 超详细 | 分享 」手把手教你如何进行内网渗透
神兵利器 | siusiu-渗透工具管理套件
一款功能全面的XSS扫描器
实战 | 一次利用哥斯拉马绕过宝塔waf
BurpCrypto: 万能网站密码爆破测试工具
快速筛选真实IP并整理为C段 -- 棱眼
自动探测端口顺便爆破工具t14m4t
渗透工具|无状态子域名爆破工具(1秒扫160万个子域)
查看更多精彩内容,还请关注橘猫学安全:
每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5OTY2NjUxMw==&mid=2247500958&idx=2&sn=c65fe831466b484d99c1f0f17a7990aa&chksm=c04d43a0f73acab6992fa4d1ed9eb1012d11193555aaa679a3b8ff5427c9f1e830e236d96e52#rd
如有侵权请联系:admin#unsafe.sh