当前位置: 首页 > news >正文

编程猫官方网站昆明网站建设php

编程猫官方网站,昆明网站建设php,哈尔滨道里区,深圳建设企业网站文章目录 0.前言1.参考文档2.基础介绍3.漏洞利用原理3.解决方案1. 升级Spring Boot版本2. 限制端点的访问3. 禁用环境端点4. 不公开敏感的Actuator端点5. 开启安全审计 0.前言 背景: Spring Boot Actuator的Env端点存在本地文件包含(LFI)漏洞CVE-2020-5421。被扫描到…

文章目录

  • 0.前言
  • 1.参考文档
  • 2.基础介绍
  • 3.漏洞利用原理
  • 3.解决方案
    • 1. 升级Spring Boot版本
    • 2. 限制端点的访问
    • 3. 禁用环境端点
    • 4. 不公开敏感的Actuator端点
    • 5. 开启安全审计

在这里插入图片描述

0.前言

背景: Spring Boot Actuator的Env端点存在本地文件包含(LFI)漏洞CVE-2020-5421。被扫描到需要解决。

Spring Boot Actuator是Spring Boot的一个子项目,主要用于监控和管理Spring Boot应用程序。在开发或测试环境中,开发者通常会开启所有Actuator的端点,包括/env端点,以便于对应用程序进行诊断和调试。但在生产环境中,这种配置可能会导致安全问题。

1.参考文档

  1. Spring Boot官方网站: https://spring.io/projects/spring-boot
  2. Spring Boot GitHub仓库: https://github.com/spring-projects/spring-boot
  3. Spring官方博客: https://spring.io/blog

这个问题被记录在Spring
Boot的GitHub仓库中,具体的漏洞描述和解决办法可以在这个链接中找到:https://github.com/spring-projects/spring-boot/issues/。

另外,Pivotal也在他们的官方博客中发布了一个公告,解释了这个问题的严重性,以及他们如何处理这个问题:https://spring.io/blog/。

注意: 以上链接可能会随着时间推移而更新或改变 如果连接变了可以评论区留言谢谢。

2.基础介绍

CVE-2020-5421就是一个影响Spring Boot Actuator的安全漏洞。这个漏洞主要涉及到环境(Env)端点。这个端点本来是用来获取应用程序运行环境的详细信息的,但由于漏洞的存在,攻击者可以通过特制的请求,让/env端点返回服务器上任意文件的内容,这就是所谓的本地文件包含(LFI)漏洞。

这个LFI漏洞的存在,可能使的应用程序面临严重的安全风险。攻击者可以通过这个漏洞获取到服务器上的任何文件,包括应用程序的配置文件,数据库配置信息,甚至是系统的敏感文件如/etc/passwd。这可能会导致的应用程序的信息泄露,甚至是被完全控制。

3.漏洞利用原理

在Spring Boot Actuator的/env端点,开发者可以获取到应用程序运行环境的详细信息。然而,由于一项设计缺陷,攻击者可以通过发送特制的请求,让/env端点返回服务器上任意文件的内容。这就是所谓的本地文件包含(LFI)漏洞。

具体的利用方法是,攻击者可以发送一个POST请求到/env端点,如POST /actuator/env,然后在请求体中设置name参数为[systemProperties][java.home]value参数为任意文件的路径,如../../../etc/passwd

然后再发送一次GET请求到/env端点,读取这个文件的内容。由于/env端点会返回java.home系统属性的值,而这个值已经被攻击者修改为任意文件的路径,所以,服务器会返回这个文件的内容。

所以,这个漏洞的原理就是,攻击者通过修改系统属性java.home的值,来读取服务器上任意文件的内容。

这种攻击方法需要攻击者能够访问到的Actuator端点。在生产环境中,应该尽量限制Actuator端点的访问权限,或者完全禁用它。

3.解决方案

要解决这个本地文件包含(LFI)漏洞,可以采取以下的解决方案:

1. 升级Spring Boot版本

Pivotal(Spring Boot的开发商)已经在更高版本的Spring Boot中修复了这个漏洞。所以,可以通过升级的Spring Boot版本来解决这个问题。具体来说,应该至少升级到2.3.9.RELEASE、2.4.4或更高版本。官方地址https://spring.io/projects/spring-boot/

2. 限制端点的访问

在生产环境中,应该尽量限制Actuator端点的访问权限。可以通过Spring Security来实现这一点。只有经过身份验证的用户,才能访问Actuator端点。
要使用Spring Security来限制Actuator端点的访问,首先需要在的项目中引入Spring Security的依赖。如果使用的是Maven构建工具,可以在的pom.xml文件中添加如下的依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>

然后,需要创建一个配置类,该类扩展了WebSecurityConfigurerAdapter,并覆盖了configure(HttpSecurity http)方法,如下:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests().anyRequest().authenticated().and().httpBasic();}}

在这个配置中,首先使用requestMatcher(EndpointRequest.toAnyEndpoint())来指定这个安全配置只应用于Actuator端点的请求。然后,使用authorizeRequests().anyRequest().authenticated()来要求所有的请求都必须经过身份验证。最后,使用httpBasic()来启用HTTP基本认证。

然后,需要在的application.propertiesapplication.yml中设置一个用户名和密码,这个用户名和密码将用于身份验证。例如:

spring.security.user.name=admin
spring.security.user.password=secret

这样,只有知道用户名和密码的人,才能访问的Actuator端点。

3. 禁用环境端点

如果不需要环境端点,也可以选择禁用它。可以在的application.propertiesapplication.yml中设置management.endpoint.env.enabled=false来禁用环境端点。

4. 不公开敏感的Actuator端点

默认情况下,Spring Boot 只会暴露少数几个不敏感的Actuator端点,比如“health”和“info”。应该确保这个设置没有被修改,避免公开其他可能带来安全隐患的端点。

5. 开启安全审计

如果公司的devops 平台做的好的话,可以在发布扫描环节扫描这些。或者通过开启安全审计,可以记录谁访问了哪些端点,何时访问的,访问了哪些数据。这对于检测和防止潜在的攻击非常有用。

http://www.yayakq.cn/news/263556/

相关文章:

  • 做公司网站需不需要注册电脑dw怎么制作网页
  • 怎样向网站上传照片福州仓山区网站建设
  • wordpress网站变慢建站服务器
  • 一般网站的优缺点用自己的电脑建网站
  • 学生个人网站模板灵芝产品网站建设方案
  • 购物网站模块是什么意思毕业设计做网站论文好写吗
  • 濮阳建设企业网站公司旅行网站建设的规划书
  • 高端上海网站设计公司phpwind 企业网站
  • 天津网站建设咨询菠菜网站开发哪家好
  • 网站开发和软件做常识的网站
  • 一个网站如何做推广网址链接查询
  • 高端自适应网站开发wordpress 首页显示全文
  • 机械类网站模板企业培训心得体会
  • 有关学风建设网站智能建站做网站好吗
  • 网站做兼容处理怎么企业网站制作的方法
  • 青岛专业做网站的学校建设评建工作网站
  • 自动化产品的网站建设营销型网站建设电话
  • 金华市建设局官方网站wordpress搭建表单
  • 网站模板对seo的影响html5 wap网站模板
  • 合江县住房和城乡规划建设局网站东莞企石网站建设
  • 自己做菠菜网站顺德网站建设教程
  • 涿州网站制作吉林文明网设计专门页面
  • 珠海专业机械网站建设网站开发和网络设计有什么区别
  • 自己的电脑做服务器建立网站的方法企业融资渠道及技巧
  • p2p理财网站开发流程wordpress ssh安装
  • 北京市的重点门户网站有哪些手机百度关键词排名 网站优化软件
  • 做本地网站需要什么资质图展网站源码
  • 建设综合信息网站需要多少钱深圳网站建设html5
  • 免费域名网站黄的免费网站上传视频怎么做
  • 网站制作内容新手学习网站建设