CVE-2021-21234 Spring Boot 目录遍历

VSole2021-10-21 06:12:35

spring-boot-actuator-logview 在一个库中添加了一个简单的日志文件查看器作为 spring boot 执行器端点。它是 maven 包“eu.hinsch:spring-boot-actuator-logview”。在 0.2.13 版本之前的 spring-boot-actuator-logview 中存在目录遍历漏洞。该库的本质是通过 admin(spring boot 执行器)HTTP 端点公开日志文件目录。要查看的文件名和基本文件夹(相对于日志文件夹根)都可以通过请求参数指定。虽然检查了文件名参数以防止目录遍历攻击(因此`filename=../somefile` 将不起作用),但没有充分检查基本文件夹参数,因此`filename=somefile&base=../` 可以访问日志记录基目录之外的文件)。该漏洞已在 0.2.13 版中修补。0.2.12 的任何用户都应该能够毫无问题地进行更新,因为该版本中没有其他更改。除了更新或删除依赖项之外,没有解决此漏洞的方法。但是,删除运行应用程序的用户对运行应用程序不需要的任何目录的读取访问权限可以限制影响。此外,可以通过在反向代理后面部署应用程序来限制对 logview 端点的访问。

漏洞代码出发位置:

eu.hinsch.spring.boot.actuator.logview.LogViewEndpoint#view:

view函数对filename参数进行合法性校验,但是没有对base参数进行合法性校验。

filename的校验函数:

GET path:      - "{{BaseURL}}/manage/log/view?filename=/windows/win.ini&base=../../../../../../../../../../" # Windows      - "{{BaseURL}}/log/view?filename=/windows/win.ini&base=../../../../../../../../../../" # windows      - "{{BaseURL}}/manage/log/view?filename=/etc/passwd&base=../../../../../../../../../../" # linux      - "{{BaseURL}}/log/view?filename=/etc/passwd&base=../../../../../../../../../../" # linux

修复方案:

升级到0.2.13

遍历boot
本作品采用《CC 协议》,转载必须注明作者和本文链接
spring-boot-actuator-logview 在一个库中添加了一个简单的日志文件查看器作为 spring boot 执行器端点。它是 maven 包“eu.hinsch:spring-boot-actuator-logview”。在 0.2.13 版本之前的 spring-boot-actuator-logview 中存在目录遍历漏洞。该库的本质是通过 admin(spring boo
Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。让使用者以最小的代价接入。当然了解了bean的各个生命周期也能促进我们加深对spring的理解。在网上搜索spring扩展点,发现很少有博文说的很全的,只有一些常用的扩展点的说明。并且整理出了一个bean在spring内部从被加载到最后初始化完成所有可扩展点的顺序调用图。这个点允许被用户自己扩展。用户可以在整个spring容器还没被初始化之前做一些事情。
虽说是 Spring 框架漏洞,但以下包含并不仅 Spring Framework,Spring Boot,还有 Spring Cloud,Spring Data,Spring Security 等。
虽说是 Spring 框架漏洞,但以下包含并不仅 Spring Framework,Spring Boot,还有 Spring Cloud,Spring Data,Spring Security 等。 CVE-2010-1622 Spring Framework class.classLoader 类远程代码执行 影响版本:SpringSource Spring Framework 3.0.0
红蓝队面试题目汇总
2022-08-12 06:53:10
红蓝队面试题目汇总
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作; profiles指定不同环境的配置 maven-assembly-plugin打发布压缩包 分享shenniu_publish.sh程序启动工具 linux上使用shenniu_publish.sh启动程序 Part2profiles指定不同环境的配置 通常一套
0x01 前言在上一篇文章中深入浅出内存马(一),我介绍了基于Tomcat的Filter内存马,不光是Fil
Kernel-Pwn-FGKASLR
2023-07-10 10:24:04
是KASLR的加强版,增加了更细粒度的地址随机化
VSole
网络安全专家