一文排查Apache Solr远程代码执行漏洞CVE-2019-12409
Posted 天地和兴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文排查Apache Solr远程代码执行漏洞CVE-2019-12409相关的知识,希望对你有一定的参考价值。
背景介绍
Solr是一个采用Java5开发、基于Lucene的全文高性能搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面。Java ManagementExtensions(JMX- 即Java管理扩展)是一种Java技术,为管理和监视应用程序、系统对象、设备(如打印机)和面向服务的网络提供相应的工具。其实很多人都用过Solr,说出来很多人不信,但事实如此,每当你想买自己喜欢的东东时,你可能会打开某宝或者某东,像这样一搜,就能搜到很多东西,你知道你看到的这些数据都来自哪儿吗?不错,就是solr提供的。solr本身也可以看成数据库,(no sql类型),但它比数据库搜索速度更快,所以在项目中一般把搜索的部分交给solr,就像在某东首页所看到的商品信息,并不是来自数据库,而是来源于sorl的索引库。
漏 洞 说 明
-
Apache Solr 8.2.0 for Ubuntu; Apache Solr 8.1.1 for ubuntu。
环 境 搭 建
-
操作系统:Ubuntu 18.04(虚拟机)192.168.113.135;
-
中间件版本:Solr 8.2.0; 工具:Metasploit。
靶 场 搭 建 过 程
下载solr8.2.0版本 http://archive.apache.org/dist/lucene/solr/8.2.0/。
进入solr-8.2.0/bin目录下,查看solr.in.sh,发现ENABLE_REMOTE_JMX_OPTS="true",该版本存在漏洞。
在bin目录下启动solr服务 ./solr -e dih -force。
使用nmap可以看到18983端口上的JMX服务开启中。
访问一下192.168.113.135:8983/solr/#/,至此环境搭建成功。
靶 场 以 及 漏 洞 利 用 过 程
Java 环境如下。
注意点:一定要保证此漏洞是存在的,在前面的solr.in.sh文件中配置。
注意点:在配置文件中solr.in.sh,一定要打开18983 端口,方才成功连接。
成功接收到shell。
防 范 及 修 复 建 议
-
配置文件solr.in.sh的配置选项ENABLE_REMOTE_JMX_OPTS值改为”false”,然后重启; -
升级Solr版本; -
同时,用户应确认在Solr的管理员界面中的“Java Properties”选项中不包含 “com.sun.management.jmxremote*”的相关属性信息; -
保证 Solr 集群只能被可信任端点访问; -
启用 Solr JMX 服务身份验证; 关闭 Solr JMX 服务。
往期精选
1 |
|
2 |
|
3 |
|
点击“在看”鼓励一下吧
以上是关于一文排查Apache Solr远程代码执行漏洞CVE-2019-12409的主要内容,如果未能解决你的问题,请参考以下文章
安全漏洞 Apache Solr JMX服务远程代码执行漏洞
高危安全预警Apache Solr Velocity模板注入远程代码执行漏洞
通告更新Apache Solr模板注入远程代码执行漏洞安全风险通告