Solr Velocity模板远程代码执行漏洞复现

本文介绍了Apache Solr 8.2.0版本中一个远程代码执行漏洞的复现过程。首先,需要环境准备,下载Solr并手动添加配置文件。漏洞利用的前提是掌握Solr服务器的core名称。漏洞发生原因是params.resource.loader.enabled设置为true,允许攻击者通过请求参数指定模板。影响范围包括Apache Solr 5.x 至 8.2.0。复现步骤涉及抓包、构造POST请求来修改Core配置,并执行命令。修复建议包括限制对solr目录的访问和关注官方补丁。
摘要由CSDN通过智能技术生成

环境准备

下载

https://www.apache.org/dyn/closer.lua/lucene/solr/8.2.0/solr-8.2.0.zip

在这里插入图片描述
报错了

在这里插入图片描述
这边是需要手动添加的

把这个目录下的conf文件 复制到你创建的文件下

在这里插入图片描述

在这里插入图片描述

然后在添加 就可以了

成功添加

在这里插入图片描述

漏洞利用的前提

需要知道solr服务器中的core的名称才能执行攻击

我这边手动创建的core节点:a001

能进入控制台就能看见core节点的名称

或者直接访问solr/admin/cores 也是可以的

在这里插入图片描述
查看配置文件

访问/solr/a001/config

在这里插入图片描述

漏洞产生的原因

1.当攻击者可以直接访问Solr控制台时,可以通过发送类似/节点名/config的POST请求对该节点的配置文件做更改。

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

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

影响的范围

Apache Solr 5.x - 8.2.0,存在config API版本

开始复现

抓包 发送到repeater模块

请求方式:Get+POST

在这里插入图片描述

构造POST请求,向 /solr/bmjoker/config 目录

提交POST请求 目的&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值