CVE-2021-27905 Apache Solr SSRF漏洞

这篇具有很好参考价值的文章主要介绍了CVE-2021-27905 Apache Solr SSRF漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

预备知识
1. 漏洞信息

漏洞编号:CVE-2021-27905  
漏洞名称:Apache Solr SSRF漏洞 

漏洞描述:Apache Solr是一个开源的搜索服务,使用Java编写、运行在Servlet容器的一个独立的全文搜索服务器,是Apache Lucene项目的开源企业搜索平台。该漏洞是由于Solr默认安装未开启身份验证,攻击者可未授权通过Config API修改配置,导致SSRF和任意文件读取。

影响版本:Apache Solr <= 8.8.1

2. ApacheSolr相关实验

<CVE-2019-0192 Apache Solr远程反序列化代码执行漏洞>

实验目的
通过实验学习Apache Solr SSRF及任意文件读取漏洞的产生原因和利用方式。

实验环境
Attack:Kali Linux
Target:Windows 10、IP:10.1.1.200
实验步骤一
任务描述:漏洞环境:源码搭建及创建core。

1. target机器下载漏洞环境并解压,进入bin目录,执行solr start -p 8983

CVE-2021-27905 Apache Solr SSRF漏洞
2. 浏览器访问http://ip:8983即可看到solr的主界面:
CVE-2021-27905 Apache Solr SSRF漏洞

3. 刚下载的环境是没有core的,点击左侧的Core Admin来创建一个core:
CVE-2021-27905 Apache Solr SSRF漏洞

4. 直接点击Add Core发现报错:
CVE-2021-27905 Apache Solr SSRF漏洞
5. 但是此时Solr已经在/server/solr目录下创建了名为new_core的文件夹,需要把/server/solr/configsets/_default文件夹下的conf目录整个拷贝到new_core文件夹下:
CVE-2021-27905 Apache Solr SSRF漏洞

6. 复制完成后再点击Add Core即可创建成功:
CVE-2021-27905 Apache Solr SSRF漏洞

实验步骤二
任务描述:漏洞代码块分析。


1.  漏洞代码块 

https://github.com/apache/solr/blob/main/solr/core/src/java/org/apache/solr/servlet/SolrRequestParsers.java:
CVE-2021-27905 Apache Solr SSRF漏洞
这里获取stream.url参数并调用了URLStream。
2.  跟进URLStream:
CVE-2021-27905 Apache Solr SSRF漏洞
发现其getStream()方法与url建立了连接,导致SSRF漏洞。
3. 同样在SolrRequestParsers.java文件中:
CVE-2021-27905 Apache Solr SSRF漏洞
和SSRF代码类似,这里调用的是ContentStreamBase.FileStream。

4. 跟进FileStream:
CVE-2021-27905 Apache Solr SSRF漏洞

没有任何过滤,所以可以读取任意文件。

实验步骤三
任务描述:漏洞复现,获取core_name,发送请求开启远程读取文件流,任意文件读取。

1.  Attack机器通过浏览器访问http://ip:8983/solr/admin/cores?indexInfo=false&wt=json,可以获取目标机器core的名字:
CVE-2021-27905 Apache Solr SSRF漏洞
2.  利用Config API打开默认关闭的requestDispatcher.requestParsers.enableRemoteStreaming开关。
访问http://ip:8983/solr/core_name/config,使用burp发送以下POST请求包:

{"set-property": {"requestDispatcher.requestParsers.enableRemoteStreaming":true}}
CVE-2021-27905 Apache Solr SSRF漏洞
注意修改MIME类型为application/json
可以测试是否存在漏洞,响应码为200,说明远程读取流文件配置开启成功。

3.  开启后寻找某个路径进行文件读取,在 https://github.com/apache/solr/blob/7ada4032180b516548fc0263f42da6a7a917f92b/solr/core/src/resources/ImplicitPlugins.json 中提供了很多请求路径。

4.  其中/debug/dump主要是输出一些请求头和响应头信息,可以针对该路径进行利用:

POST/solr/core_name/debug/dump

stream.url=file://想要读取的文件名称

例如读取hosts文件:C:\Windows\System32\drivers\etc\hosts
CVE-2021-27905 Apache Solr SSRF漏洞
stream.url参数触发SSRF漏洞,Java中可以利用file协议实现任意文件读取。

实验步骤四
任务描述:漏洞检测POC测试。


1.  Attack机器下载漏洞检测POC并解压:
CVE-2021-27905 Apache Solr SSRF漏洞
2.  执行漏洞检测POC并输入待检测的URL:
CVE-2021-27905 Apache Solr SSRF漏洞
3.  输入想要读取的文件名称:
CVE-2021-27905 Apache Solr SSRF漏洞
漏洞修复
将Solr端口仅对内网开放,并配置访问策略:
1、 关闭ConfigAPI,禁止通过API修改配置,在bin目录下的solr.in.cmd中加入:
set SOLR_OPTS=%SOLR_OPTS%-Ddisable.configEdit=true
2、 关闭远程读取文件流,修改core_name/conf/configoverlay.json中的远程读取文件流的配置修改为false:
CVE-2021-27905 Apache Solr SSRF漏洞文章来源地址https://www.toymoban.com/news/detail-411994.html

到了这里,关于CVE-2021-27905 Apache Solr SSRF漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CVE-2021-41773/42013 apache路径穿越漏洞

    影响范围 CVE-2021-41773 Apache HTTP server 2.4.49 CVE-2021-42013 Apache HTTP server 2.4.49/2.4.50 漏洞原理 Apache HTTP Server 2.4.49版本使用的ap_normalize_path函数在对路径参数进行规范化时会先进行url解码,然后判断是否存在…/的路径穿越符,如下所示: 当检测到路径中存在%字符时,如果紧跟的2个

    2024年02月08日
    浏览(40)
  • 【高危】Apache Solr 环境变量信息泄漏漏洞

    Apache Solr 是一款开源的搜索引擎。 在 Apache Solr 受影响版本中,由于 Solr Metrics API 默认输出所有未单独配置保护策略的环境变量。在默认无认证或具有 metrics-read 权限的情况下,攻击者可以通过向 /solr/admin/metrics 端点发送恶意请求,从而获取到运行 Solr 实例的主机上的所有系统

    2024年01月18日
    浏览(42)
  • 【复现】Apache Solr信息泄漏漏洞_24

    目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 Apache Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Htt

    2024年01月21日
    浏览(46)
  • Apache Http Server 路径穿越漏洞复现(CVE-2021-41773)

    Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源码的网页服务器软件,可以在大多数电脑操作系统中运行。由于其跨平台和安全性,被广泛使用,是最流行的 Web 服务器软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编译到服务器中。

    2024年02月08日
    浏览(78)
  • 【漏洞复现】Apache_HTTP_2.4.50_路径穿越漏洞(CVE-2021-42013)

    感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 说明 内容 漏洞编号 CVE-2021-42013 漏洞名称 Apache HTTP_2.4.50_路径穿越漏洞 漏洞评级 高危 影响范围 2.4.49 2.4.50 漏洞描述 CVE-2021-42013是由CVE-2021-41773的不完整修复导致的漏洞,攻击者可以使用路径遍历攻击将

    2024年02月05日
    浏览(34)
  • ICMP“EtherLeak”信息泄露漏洞(CVE-2017-2304) ICMP“EtherLeak”信息泄露漏洞(CVE-2021-3031)漏洞解决办法

    ICMP“EtherLeak”信息泄露漏洞(CVE-2017-2304) ICMP“EtherLeak”信息泄露漏洞(CVE-2021-3031) 漏洞解决办法            

    2024年02月12日
    浏览(48)
  • CVE-2021-44228 Apache log4j 远程命令执行漏洞

    一、漏洞原理 log4j(log for java)是由Java编写的可靠、灵活的日志框架,是Apache旗下的一个开源项目,使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容格式;通过定义不同的日志级别,可以更加精确的控制日志的生成过程,

    2024年02月08日
    浏览(55)
  • 复现CVE-2021-44228-Apache Log4j2远程代码执行漏洞

    复现CVE-2021-44228-Apache Log4j2远程代码执行漏洞 目录 前言 漏洞原理 影响范围 环境搭建漏洞复现 使用工具JNDIExploit-1.2-SNAPSHOT.jar 近期Apache Log4j2被暴露了一个严重的远程代码执行安全漏洞(CVE-2021-44228),有严重的安全风险。Apache Log4j2是一款优秀的Java日志框架, 被广泛地应用在

    2024年02月05日
    浏览(44)
  • Log4j反序列化命令执行漏洞(CVE-2017-5645)&Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)

    Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码 环境:vulhub 工具下载地址: ysoserial 利用工具生成payload: 1.创建文件 进入容器内部,查看文件创建成功 2.查看反弹的shell 有点

    2024年02月11日
    浏览(49)
  • Apache Tomcat 信息泄露漏洞CVE-2023-28708处理

    Apache Tomcat软件是Jakarta Servlet、 Jakarta Server Pages、 Jakarta Expression Language、 Jakarta WebSocket、 Jakarta Annotations和 Jakarta Authentication 规范的开源实现 。Apache Tomcat实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包