CSRF攻击原理及防御措施

本文介绍了CSRF攻击的原理,包括用户在受信任网站登录后,攻击者通过恶意代码利用用户的cookie执行恶意请求。防御措施包括验证HTTP Referer字段、添加token验证和自定义HTTP头属性验证。同时,文章指出POST和HTTPS并不能有效防御CSRF,并解释了CSRF与XSS的区别,帮助理解两者的不同作用和影响。
摘要由CSDN通过智能技术生成

CSRF,即跨站请求伪造(Cross-site request forgery)

攻击原理

  • 用户登录受信任网站A,产生cookie
  • 用户访问攻击网站B,网站B返回攻击代码并发出要登录网站A的请求
  • 网站A对请求进行验证并确认是用户的cookie,误以为是用户操作
  • 网站A执行攻击代码,攻击完成。

可以理解为:攻击者盗用用户身份,并以用户的名义发送恶意请求。 在服务器看来这个请求是完全合法的,导致攻击目的达到。


 防御措施

CSRF的关键点是浏览器自动带上了受信任网站的Cookie访问该受信任网站的链接,这是浏览器需要的机制应用是无法阻止的。所以CSRF防范的立足点应该是,面对发过来的数据包如何识别是通过本网站点击链接发过来的数据包,还是其他网站发来的数据访问数据包

一、验证HTTP Referer字段        

在 HTTP 头中有一个字段叫 Referer,它标识了当前请求的来源页面,简单来说,谁发出了请求Referer就指向谁。浏览器访问时会自动带上cookie和Referer,这样服务器就可以通过检测Referer值来决定是否通过验证

因此只需要在最后给所有敏感请求加一个拦截器来检查Referer的值是否来自于何处。但是这种方法也存在缺点:第一点,各浏览器的Referer实现及其安全漏洞是未知的,而Referer的实现依赖于浏览器,不排除攻击者伪造用户的Referer

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值