CSRF的攻与防

Posted ydongy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSRF的攻与防相关的知识,希望对你有一定的参考价值。

知己知彼,百战不殆。

什么是CSRF

CSRF,全程跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。

通常可以理解为:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。

CSRF原理

技术图片

从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:

  1. 登录受信任网站A,并在本地生成Cookie。
  2. 在不登出A的情况下,访问危险网站B。

简单的概述一下就是:当用户登录某个网站A获取到Cookie,在Cookie没有失效的情况下访问了另一个危险网站B(伪造某个请求方式)可能默认触发事件达到用户不知情的情况下携带之前的Cookie请求网站A,从而迷惑服务端请求成功,造成危害。

CSRF防御

服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数

1. 增加伪随机数

  1. Cookie Hashing(所有表单都包含同一个伪随机值)
  2. 在表单里增加Hash值,以认证这确实是用户发送的请求。
  3. 表单提交后,然后在服务器端进行Hash值验证

2. 验证码

每次的用户提交都需要用户在表单中填写一个图片上的随机字符串

相关参考:https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

以上是关于CSRF的攻与防的主要内容,如果未能解决你的问题,请参考以下文章

图片盗链的攻与防

软件加密的攻与防

软件加密的攻与防

对于网络爬虫技术的攻与防

网络爬虫技术的攻与防

服务器的攻与防(firewall 禁止指定Ip)