CSRF(跨域请求伪造)和XSS(跨域脚本攻击)的概念和防范措施

本文详细介绍了CSRF(跨域请求伪造)和XSS(跨域脚本攻击)的概念及防御措施。对于CSRF,讨论了sameSite cookie策略、验证referer和Origin、二次验证及非cookie令牌的使用。对于XSS,区分了存储型、反射型和DOM型,并提出了过滤和HTML编码的防御方法。
摘要由CSDN通过智能技术生成

CSRF(跨域请求伪造)

恶意网站以正常用户为媒介,通过模拟正常用户的操作,攻击其登录过的网站。

原理:

1. 正常用户登录后,获得正常站点的令牌,以cookie的形式保存。

2. 用户访问恶意站点,恶意站点通过某种形式去请求了正常网站,然后将用户的令牌传递到正常网站,完成攻击。

防御

cookie的sameSite

现在很多浏览器都支持禁止跨域携带cookie。需要设置cookie的sameSite为:

  • Strict:严格,所有跨站请求都不附带cookie,有时会导致用户体验不好
  • Lax:宽松,所有跨站的超链接、GET请求的表单、预加载连接时会发送cookie,其他情况不发送
  • None:无限制

这种方法非常简单,极其有效,但前提条件是:用户不能使用太旧的浏览器。

验证referer和Origin

页面中的二次请求都会附带referer或Origin请求头,向服务器表示该请求来自于哪个源或页面,服务器可以通过这个头进行验证。

但某些浏览器的referer是可以被用户禁止的,尽管这种情况极少

二次验证

当做出敏感操作时,进行二次验证

使用非cookie令牌

这种做法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值