加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

CSRF攻击与防范

发布时间:2023-09-04 14:07:36 所属栏目:教程 来源:
导读:CSRF(Cross-site request forgery),中文名称:跨站请求伪造。可以这么简单理解CSRF攻击:攻击者盗用了你的身份(获取登录正规网站的cookie 信息),并以你的名义发送恶意请求(比如转账、提交订单等)。CSRF 主要会导致
CSRF(Cross-site request forgery),中文名称:跨站请求伪造。可以这么简单理解CSRF攻击:攻击者盗用了你的身份(获取登录正规网站的cookie 信息),并以你的名义发送恶意请求(比如转账、提交订单等)。CSRF 主要会导致个人的隐私泄露并威胁财产安全。

要完成一次 CSRF 攻击,受害者必须依次完成两个步骤:

登录受信任网站A,并在本地生成Cookie;

在不登出A的情况下,访问危险网站B;

上面这几种情况看似很难一起发生,但在现实场景中却是很容易发生的。这主要是基于以下几个原因导致的:

我们往往登录了一个网站后,打开多个tab 页面去访问多个其他网站。

关闭浏览器之后,本地的 Cookie 并不会立即过期,上次会话也并不意味着结束,除非我们点击登出(logout)或者主动清除浏览器缓存;

所谓的危险网站,可能是经常被人访问的正规网站。该网站由于存在某种漏洞被人恶意攻击,并在网站中放入恶意链接诱导用户点击;

基于以上三点,CSRF 攻击很可能每天在我们身边上演。但是网站必须要确保不存在相应的 CSRF 漏洞,否则极容易被黑客攻击。

关于 CSRF 攻击的主要防御手段便是在网页上添加一个随机的校验 token 值。由于 CSRF 的本质在于攻击者欺骗用户去访问自己设置的地址,所以如果要求在访问敏感数据请求时,要求用户浏览器提供不保存在 cookie 中,并且攻击者无法伪造的数据作为校验,那么攻击者就无法再执行 CSRF 攻击。这种数据通常是表单中的一个数据项。服务器将其生成并附加在表单中,其内容是一个伪乱数。当客户端通过表单提交请求时,这个伪乱数也一并提交上去以供校验。

正常的访问时,客户端浏览器能够正确得到并传回这个伪乱数,而通过 CSRF 传来的欺骗性攻击中,攻击者无从事先得知这个伪乱数的值,服务器端就会因为校验 token 的值为空或者错误,并拒绝这个可疑请求。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章