csrf 与 samesite

本文介绍了在当前浏览器环境下,CSRF攻击的难度增加。重点讨论了SameSite属性如何影响跨域请求中的Cookie行为,包括lax、strict和none三种模式的区别。

很多人在学习csrf的时候,书本和文章上都会写到,在a站点面嵌入一个b站点的链接,那么浏览器在请求b页面的资源时会自动带上b的cookie。

不过我觉得这些文章的内容已经有些过时了,近期在解决内部的一个csrf问题时,发现当前浏览器已经默认启用了cookie中的samesite保护机制,这种跨域的csrf想利用已经很难了。

简单来说就是服务端在返回set-cookie时,可以加上一个samesite属性,这个属性有三个值:lax/strict/none

lax:跨域的请求不会带上cookie,不过如果是从a站点跳转到b站点,这个时候会带上b的cookie。

strict:只要是跨域的请求都不会带上目标站点的cookie。

none:不做限制,但是必须配合secure属性使用,否则不生效。

这里需要注意的是,如果在set-cookie时没有设置samesite,那么默认就会采用lax方案。

参考链接:SameSite cookies - HTTP | MDN

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值