夫天地者,万物之逆旅;光阴者,百代之过客。而浮生若梦,为欢几何?
架构师词条:跨站请求伪造(CSRF)

CSRF 概述

跨站请求伪造(Cross-site request forgery),缩写为 CSRF 或 XSRF,攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。

CSRF 典型攻击流程

1、受害者登录正规网站 A ,并保留了登录凭证(Cookie)。  

2、攻击者引诱受害者访问网站 B,如通过带有诱惑力的广告链接。  

3、B 网站向 A 网站发送一个请求,浏览器会默认携带 A 网站的Cookie。  

4、A 网站收到请求后对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求。  

5、A 以受害者的身份执行了一个重要操作。  


攻击者在受害者不知情的情况下,冒充受害者,让 A 执行了自己定义的操作。试想,如果这是一个银行转账操作,它的危害会有多大!

CSRF 防御

1、同源检测,CSRF大多来自第三方网站,那么我们就直接禁止外域(或者不受信任的域名)对我们发起请求。在HTTP协议中,可以通过判断 Origin Header 和 Referer Header。  

2、添加校验token,由于CSRF的本质在于攻击者欺骗用户去访问自己设置的地址,所以如果要求在访问敏感数据请求时,要求用户浏览器提供不保存在cookie中,并且攻击者无法伪造的数据作为校验,那么攻击者就无法再运行CSRF攻击。

3、Samesite Cookie属性。

4、不可有好奇之心(大家都懂得^^)。

参考资料

CSRF攻击 
CSRF(跨站请求伪造) 

安全|常见的Web攻击手段之CSRF攻击  

CSRF 攻击的应对之道 

作者:暗夜余晖

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

0

支持

0

反对

posted @2020-1-14  拜读(124)

评论列表

评论内容:



喜欢请打赏

支付宝 微信

请放心支付