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

phpcms做装修网站seo优化百度技术排名教程

phpcms做装修网站,seo优化百度技术排名教程,网站建设 云南,网站编辑如何做原创文章目录 0.前言漏洞Spring Security介绍 1.参考文档2.基础介绍3.解决方案3.1. 升级版本3.2. 临时替代方案 4.Spring Security使用教程简单代码示例 0.前言 背景:公司项目扫描到 Spring-security 组件 注销后未正确保存空的SecurityContext CVE-2023-20862 漏洞 高…

文章目录

  • 0.前言
    • 漏洞
    • Spring Security介绍
  • 1.参考文档
  • 2.基础介绍
  • 3.解决方案
    • 3.1. 升级版本
    • 3.2. 临时替代方案
  • 4.Spring Security使用教程简单代码示例

在这里插入图片描述

0.前言

背景:公司项目扫描到 Spring-security 组件 注销后未正确保存空的SecurityContext CVE-2023-20862

漏洞

高风险 | 2023年4月17日 | CVE-2023-20862

在Spring Security中,5.7.x版本之前的5.7.8版本,5.8.x版本之前的5.8.3版本,以及6.0.x版本之前的6.0.3版本,如果使用序列化版本,注销支持不会正确清理安全上下文。此外,无法将空的安全上下文显式保存到HttpSessionSecurityContextRepository。这种漏洞可能会使用户在注销后仍然保持认证状态

Spring Security介绍

Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是保护基于Spring的应用程序的实际标准。Spring Security提供了一套完整的安全性解决方案,是构建安全性强的企业级应用程序的理想选择。它的模块化和可扩展性使得开发者能够满足各种各样的安全需求,从简单的应用级别的安全到复杂的方法级别的安全,Spring Security都能够提供支持。Spring Security对于所有种类的身份验证机制提供了很好的支持,包括内存存储的用户列表、JDBC基于数据库的认证、LDAP认证、表单认证、CAS等。它不仅支持一大堆认证机制,还支持很多种权限控制的方式,如基于角色的访问控制、访问控制列表(ACL)等。
正因为它是专门搞权限,验证,授权,等安全验证功能,在它上面的漏洞简直层出不穷,防不胜防。所以最近又发布了一个它的漏洞

1.参考文档

  1. CVE 官方网站 https://www.cve.org/CVERecord?id=CVE-2023-20862
  2. spring官方网站 https://spring.io/security/cve-2023-20862
    在这里插入图片描述
  3. https://docs.spring.io/spring-security/reference/5.8/migration/servlet/session-management.html#_require_explicit_saving_of_securitycontextrepository
  4. https://docs.spring.io/spring-security/reference/servlet/authentication/session-management.html#store-authentication-manually
  5. https://docs.spring.io/spring-security/reference/5.8.3/servlet/authentication/session-management.html#properly-clearing-authentication

2.基础介绍

在Spring Security中,5.7.x版本之前的5.7.8版本5.8.x版本之前的5.8.3版本以及6.0.x版本之前的6.0.3版本,如果使用序列化版本,注销支持不会正确清理安全上下文。此外,无法将空的安全上下文显式保存到HttpSessionSecurityContextRepository。这种漏洞可能会使用户在注销后仍然保持认证状态。

受影响的Spring产品和版本

Spring Security:
6.0.0至6.0.2
5.8.0至5.8.2
5.7.0至5.7.7

3.解决方案

3.1. 升级版本

受影响版本的用户应该应用以下缓解。5.7.x的用户应该升级到5.7.8。5.8.x的用户应该升级到5.8.3。6.0.x的用户应该升级到6.0.3。没有其他必要的步骤。已修复此问题的版本包括:

已修复此问题的版本 Spring Security 版本
5.7.8
5.8.3
6.0.3

3.2. 临时替代方案

  1. 正在使用SecurityContextHolderFilter或requireExplicitSave(true),并且正在使用Spring Security的注销支持与序列化会话(例如Spring Session)和invalidateHttpSession(false)
  2. 通过将一个空的SecurityContext保存到HttpSessionSecurityContextRepository来手动注销用户
  3. 有一个不依赖HttpSession的自定义SecurityContextRepository

4.Spring Security使用教程简单代码示例

  1. 添加Spring Security依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>
  1. 创建Spring Security配置类

创建 SecurityConfig的Java类,这个类需要继承WebSecurityConfigurerAdapter类,并覆盖其configure方法来实现安全配置。也需要配置一个PasswordEncoder bean来处理密码的编码。

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().anyRequest().authenticated().and().formLogin().loginPage("/login").permitAll().and().httpBasic();}@Autowiredpublic void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {auth.inMemoryAuthentication().passwordEncoder(passwordEncoder()).withUser("user").password(passwordEncoder().encode("password")).roles("USER");}@Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}
}

配置指定了所有的请求必须经过身份验证。它还指定一个自定义的登录页面,这个页面对所有用户都是可用的。最后,它配置了一个在内存中的用户存储,包含一个用户名为"user",密码为"password"的用户。

  1. 创建登录页面

在src/main/resources/templates目录下,创建一个名为login.html的文件。此文件的内容可以根据的需求进行定制:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>Login</title>
</head>
<body>
<form th:action="@{/login}" method="post"><div><input type="text" name="username" placeholder="Username"/></div><div><input type="password" name="password" placeholder="Password"/></div><div><input type="submit" value="Sign In"/></div>
</form>
</body>
</html>
  1. 在控制器中使用认证用户信息

在需要使用认证用户信息的地方,可以使用@AuthenticationPrincipal注解来获取当前认证用户:

@GetMapping("/hello")
public String hello(@AuthenticationPrincipal User user) {return "Hello, " + user.getUsername();
}
http://www.hkea.cn/news/940057/

相关文章:

  • 谁做网站市场营销专业
  • 慈溪外贸公司网站网络营销就业前景和薪水
  • 电商网站建设实训报告长沙网站seo推广公司
  • 阿里云ecs怎么建网站吉林网站seo
  • 企业营销型网站建设的可行性西安竞价托管
  • 做网站如何适应分辨率网站分析培训班
  • 现在币圈有那些私募网站做的好百度推广账号登陆入口
  • 旅游网站图片营销公司排名
  • 做服务器的网站都有哪些搜狗关键词排名此会zjkwlgs
  • php动态网站开发 唐四薪 答案b站引流推广网站
  • 长沙3天2晚自由行攻略论述搜索引擎优化的具体措施
  • 外汇局网站做结汇申报被逆冬seo课程欺骗了
  • 网站运营配置免费网站在线观看人数在哪直播
  • 什么网站做一手房好系统优化的例子
  • wordpress 插入wordseo排名点击工具
  • 网站推广易网宣seo的主要分析工具
  • 安徽网站定制最大免费广告发布平台
  • 怎么查网站有没有做404公司宣传网页怎么做
  • 靠谱营销网站开发选哪家seo的优点和缺点
  • 企业网站建设论文文献综述百度推广的广告真实可信吗
  • 企业网站优化方式广州最新消息今天
  • 旅游网站开发的意义seo优化方案案例
  • 山东做网站的公司seo数据分析哪些方面
  • 做网站用哪几个端口 比较好百度贴吧官网网页
  • 弹幕网站是怎么做的百度在线翻译
  • 独立网站域名代发关键词包收录
  • 如何建立门户网站百度可以发布广告吗
  • 网站开发毕设文献郑州网站优化顾问
  • 青海建设银行的官方网站自己制作网页的网站
  • 网站建设的图片叠加步骤过程2021年搜索引擎排名