许多大型制造商喜欢在面试中询问有关网络安全性的问题。例如,接下来要说的是什么,CSRF和预防措施是什么?本文将带您了解与CSRF相关的知识点。
(跨站点请求伪造,跨站点请求伪造)是一种网络攻击方法。
我们通过一个示例理解:
小米降落在银行网站上,银行服务器发送了一个cookie,
后来,小姐访问了一个恶意网站,这个恶意网站上有一个表格
小姐意外触发了这种形式。银行服务器将收到具有正确的cookie的请求,然后银行服务器将执行自己的定义操作。目前,可以转移小米的帐户的钱。
你很糟糕吗?当然很糟糕,我需要如何防止CSRF攻击?您可以说用户不会单击进入恶意网站。当然,您不能保证每个人都不会单击恶意网站,所以我们仍然必须自动防御。即使用户访问恶意网站,我们也必须确保我们的网站不会收到攻击。
我们知道CSRF通常发生在第三党网站上,而攻击者只使用登录凭证而不是获得登录凭证,因此我们制定了以下预防策略:
Cookie的同源性和浏览器的同源策略不同:
在HTTP协议中,每个异步请求将带有两个标题来标记源域名:
当这两个标头在启动浏览器时启动请求时,大多数情况将自动带来,并且无法通过前端修改。服务器收到它之后
特殊情况:如果不存在原点和引用,建议直接停止它,尤其是如果您不使用随机CSRF令牌(以下参考)作为第二款检查。
此外,CSRF主要来自第三党域名,但不排除该地区的主动性。如果攻击者有权在此域中发布评论(包括链接,图片等),那么它可以是直接在域中启动。在这种情况下,相同的源策略无法实现保护的作用。
总而言之:同源验证是一种相对简单的预防方法,可以防止大多数CSRF攻击。但这不是一回事,并且具有高安全性要求或更多用户输入内容的网站必须采取其他保护措施,以实现关键接口。
在Chrome 51的开头,浏览器的曲奇添加了新的Samesite属性,以防止CSRF攻击。
cookie的samesite属性用于限制第三方cookie,从而降低安全风险。它有三个值:
严格:最严格的是完全禁止第三方饼干。越过网站时,不会有cookie;LAX:极限稍微松动。在大多数情况下,不会发送第三方饼干。无:关闭属性,但必须同时设置属性,如下所示:
设置或或。基本上,只要浏览器支持属性,就可以防止攻击。
CSRF攻击成功之所请求可以防止CSRF攻击。
CSRF令牌的保护策略分为三个步骤:
只需总结以上CSRF攻击的保护策略:
为了更好地辩护CSRF,最佳实践应基于上面总结的国防措施的优势和缺点,以全面考虑,并与当前的Web应用程序自己的情况相结合,以做出适当的选择,以更好地防止CSRF的发生。