某次红蓝对抗之Solr-RCE实战绕过

VSole2023-03-24 10:33:47

0x01 前言

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

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

0x02 绕过1

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

whoami
ipconfig

执行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 验证

webshell特殊字符
本作品采用《CC 协议》,转载必须注明作者和本文链接
当我们找到一个rce漏洞却无法反弹shell时,在web路径写webshell用连接工具进行管理会方便的多,本文总结从命令执行到webshell的流程化操作。 寻找web路径
前言提到webshell免杀,方法无外乎对静态特征的变形,编码,或利用语言特性绕过。计算机中有很多符号,它们在编程语言中占据一席之地,这些符号作为运算符号,标识符号或起到特殊含义。本文以PHP为例介绍一些利用符号免杀方法。免杀WAF检测通过对安全狗、护卫神、D盾等常见软WAF的测试,发现WAF查杀主要依赖两种检测方法1.静态检测:通过匹配特征来查找webshell。如危险函数,文件特征码等。例如 ${$my_var[8]}与${$my_var}[8]的区分${xxx} 括起来的要当成变量处理。
传统的php免杀不用多说了 无非就是各种变形和外部参数获取,对于一些先进的waf和防火墙来说,不论如何解析最终都会到达命令执行的地方,但是如果语法报错的话,就可能导致解析失败了,这里简单说几个利用php版本来进行语义出错的php命令执行方式。
传统的php免杀不用多说了,无非就是各种变形和外部参数获取,对于一些先进的waf和防火墙来说,不论如何解析最终都会到达命令执行的地方,但是如果语法报错的话,就可能导致解析失败了,这里简单说几个利用php版本来进行语义出错的php命令执行方式。
0x01 php的免杀传统的php免杀不用多说了,无非就是各种变形和外部参数获取,对于一些先进的waf和防火墙来说,不论如何解析最终都会到达命令执行的地方,但是如果语法报错的话,就可能导致解析失败了,这里简单说几个利用php版本来进行语义出错的php命令执行方式。
写在前面关于无字母数字Webshell这个话题,可以说是老生常谈了。之前打 CTF 的时候也经常会遇到,每次都让人头大,所谓无字符webshell,其基本原型就是对以下代码的绕过:
避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
apache一些样例文件没有删除,可能存在cookie、session伪造,进行后台登录操作
0x01 前言在某次红蓝对抗过程中,要结束的时候突然发现了扫描器爆出了Solr-RCE-CVE-2019-0192漏洞。但是进行测试过程中发现存在各种各样的问题。0x02 绕过1进行测试,发现目标只可以执行单命令,返回字段比较少的命令。但是发现目标路由规则写死了,无法直接访问到.jsp的文件。又遇到一个问题,jsp的马子都有%号,这里不论怎么做 %就是写不进去。接下来解决为啥500就可以了,type 123.jsp查看一下。
VSole
网络安全专家