spring boot实战之CSRF(跨站请求伪造)

本文介绍了CSRF攻击的概念、危害及特点,并详细阐述了如何在Spring Boot应用中通过设置动态token来防御这种攻击。主要包括登录成功设置token、创建CSRFFilter以及注册CSRFFilter三个步骤。此外,文章还提醒了token管理的注意事项,如避免提供无验证的token刷新接口。
摘要由CSDN通过智能技术生成

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。攻击通过在授权用户访问的页面中包含链接或者脚本的方式工作。例如:一个网站用户Bob可能正在浏览聊天论坛,而同时另一个用户Alice也在此论坛中,并且后者刚刚发布了一个具有Bob银行链接的图片消息。设想一下,Alice编写了一个在Bob的银行站点上进行取款的form提交的链接,并将此链接作为图片src。如果Bob的银行在cookie中保存他的授权信息,并且此cookie没有过期,那么当Bob的浏览器尝试装载图片时将提交这个取款form和他的cookie,这样在没经Bob同意的情况下便授权了这次事务。

下面是CSRF的常见特性:
1. 依靠用户标识危害网站
2. 利用网站对用户标识的信任
3. 欺骗用户的浏览器发送HTTP请求给目标站点
4. 可以通过IMG标签会触发一个GET请求,可以利用它来实现CSRF攻击

一个简单的例子:
* 用户小z登录了网站A,同时打开网站B
* 网站B隐蔽的发送一个请求至网站A
* 网站A通过session、cookie等身份标记判断是用户小z,执行对应操作

这样网站B内的非法代码就盗用了用户小z的身份,在小z不知情的情况下执行了攻击者需要的操作,这就是跨站请求伪造。

防御CSRF可以通过动态token验证的方式来实现,每次请求生成一个动态token给前端,前端在后续的请求中附加该token,如果token不存在或不正确说明不是正常请求,予以屏蔽,从而达到解决CSR

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值