CSRF的攻与防
Posted ydongy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSRF的攻与防相关的知识,希望对你有一定的参考价值。
知己知彼,百战不殆。
什么是CSRF
CSRF,全程跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。
通常可以理解为:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。
CSRF原理
从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:
- 登录受信任网站A,并在本地生成Cookie。
- 在不登出A的情况下,访问危险网站B。
简单的概述一下就是:当用户登录某个网站A获取到Cookie,在Cookie没有失效的情况下访问了另一个危险网站B(伪造某个请求方式)可能默认触发事件达到用户不知情的情况下携带之前的Cookie请求网站A,从而迷惑服务端请求成功,造成危害。
CSRF防御
服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。
1. 增加伪随机数
- Cookie Hashing(所有表单都包含同一个伪随机值)
- 在表单里增加Hash值,以认证这确实是用户发送的请求。
- 表单提交后,然后在服务器端进行Hash值验证
2. 验证码
每次的用户提交都需要用户在表单中填写一个图片上的随机字符串
相关参考:https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
以上是关于CSRF的攻与防的主要内容,如果未能解决你的问题,请参考以下文章