security CSRF漏洞保护

简介: security CSRF漏洞保护

一、CSRF概述

跨站请求伪造或者一键式攻击通常缩写为csrf或者xsrf,通过挟持当前浏览器已经登录用户发送恶意请求的攻击烦方法

xss利用用户对网站的信任

csrf利用网站对用户浏览器的信任

举例

二、CSRF防御

1、防御策略

通过令牌同步模式 在每一次http请求中除了默认的cookie参数之外,服务端生成一个随机字符串称为csrf令牌,开启后httpsession保存一份, 前端请求到达时会将请求的csrf令牌信息和服务端对比 ,如果不相等则拒绝http请求

考虑到网站可能放置外部链接,所以要求请求时幂等的 这样对于HEAD OPTIONS TRACE 等方法就没有必要使用CSRF令牌了 强行使用可能会导致令牌泄露

2、传统web开发配置

@Configuration

public class SecurityConfig extends WebSecurityConfigurerAdapter {

   @Override

   protected void configure(HttpSecurity http) throws Exception {

       http.authorizeRequests()

               .anyRequest().authenticated()

               .and()

               .formLogin()

               .and()

               //开启csrf

               .csrf();

   }

}

3、前后端分离配置

默认是csrf是保存在服务端httpsession中,前后端分离中需要将生成csrf放入到cookie中 并在请求时获取cookie中令牌进行提交即可

修改csrf放入到cookie

@Configuration

public class SecurityConfig extends WebSecurityConfigurerAdapter {

   @Override

   protected void configure(HttpSecurity http) throws Exception {

       http.authorizeRequests()

               .anyRequest().authenticated()

               .and()

               .formLogin()

               .and()

               //开启csrf

               .csrf()

               //将令牌保存到cookie 并且允许cookie前端获取

               .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());

   }

}

访问登录界面查看cookie

发送请求携带令牌

第一种:请求其他接口 在请求头中携带

X-XSRF-TOKEN:cookie中得值

第二种:请求参数中携带

_csrf:cookie中得值


相关文章
|
7月前
|
安全 数据安全/隐私保护
CSRF漏洞利用工具 -- CSRFTester
CSRF漏洞利用工具 -- CSRFTester
246 0
|
7月前
|
安全 数据安全/隐私保护
31、CSRF漏洞介绍
31、CSRF漏洞介绍
42 0
|
7月前
|
安全 数据安全/隐私保护
小课堂 -- CSRF漏洞介绍
小课堂 -- CSRF漏洞介绍
47 0
|
安全 NoSQL Java
互联网并发与安全系列教程(06) - 常见的Web安全漏洞(CSRF攻击)
互联网并发与安全系列教程(06) - 常见的Web安全漏洞(CSRF攻击)
122 0
|
存储 安全 网络协议
Web Security 之 CSRF
Web Security 之 CSRF
86 0
|
29天前
|
存储 JSON 安全
2024全网最全面及最新的网络安全技巧 二 之 CSRF+XSS漏洞的各类利用技巧
2024全网最全面及最新的网络安全技巧 二 之 CSRF+XSS漏洞的各类利用技巧
|
5月前
|
存储 安全 JavaScript
Web漏洞挖掘:XSS与CSRF防护策略
【7月更文挑战第11天】XSS和CSRF作为Web应用中常见的安全漏洞,对系统安全构成了严重威胁。通过实施上述防护策略,可以有效减少这些漏洞的风险。然而,Web安全攻防是一个持续不断的过程,开发者需要持续关注应用的安全性,更新和修补安全漏洞,同时加强自身的安全意识和防范技能,以确保Web应用的安全性和稳定性。
|
6月前
|
安全 前端开发 JavaScript
详细解读CSRF漏洞详解
详细解读CSRF漏洞详解
74 0
|
安全 数据安全/隐私保护
CSRF漏洞利用工具 -- CSRFTester
CSRF漏洞利用工具 -- CSRFTester
417 0
CSRF漏洞利用工具 -- CSRFTester
|
7月前
|
安全 数据安全/隐私保护
第二轮学习笔记:CSRF跨站请求伪造漏洞
第二轮学习笔记:CSRF跨站请求伪造漏洞
50 0