CSRF攻击(跨站请求伪造)

本文详细介绍了CSRF(跨站请求伪造)的原理和分类,包括GET型和POST型攻击方式,并提出了三种防御策略:验证HTTP Referer字段、在请求地址中添加token并验证、在HTTP头中自定义属性并验证。每种防御方法的优缺点也进行了分析。
摘要由CSDN通过智能技术生成

csrf原理及分类

csrf说白了就是盗用用户的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等

如果应用程序对用户提供的url和远端服务器返回的信息没有进行合适验证和过滤,就可能存在这种服务器端请求伪造的缺陷。

get型:只需要构造URL,然后诱导受害者访问利用。

post型:需要构造自动提交或点击提交的表单,然后诱导受害者访问或点击利用。


防御

A:验证 HTTP Referer 字段;
在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。
这种方法的显而易见的好处就是简单易行,网站的普通开发人员不需要操心 CSRF 的漏洞,只需要在最后给所有安全敏感的请求统一增加一个拦截器来检查 Referer 的值就可以。每个浏览器对于 Referer 的具体实现可能有差别,并不能保证浏览器自身没有安全漏洞。使用验证 Referer 值的方法,对于某些浏览器,比如 IE6 或 FF2,目前已经有一些方法可以篡改 Referer 值。
即便是使用最新的浏览器,黑客无法篡改 Referer 值,这种方法仍然有问题。因为 Referer 值会记录下用户的访问来源,有些用户认为这样会侵犯到他们自己的隐私权,特别是有些组织担心 Referer 值会把组织内网中的某些信息泄露到外网中。因此,用户自己可以设置浏览器使其在发送请求时不再提供 R

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值