Quantcast
Channel: PayMoon贝明实验室
Viewing all articles
Browse latest Browse all 130

[Spring Security 4]CSRF攻击方式/防御/使用

$
0
0

CSRFCross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF

CSRF可以做什么?

你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求

CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。

1121

怎么防御

CSRF的原理其实它完全是以用户的身份去执行,而应用程序和浏览器很难去判断这是CSRF攻击还是合法请求。 

那么,防御方法也就是针对这个来设计了。

主要有以下几种方法,简单讲一下:

  • 使用POST方式替代GET
  • 检验HTTP Referer
  • 使用验证码
  • 使用token

检验HTTP Referer

通过检查请求页面的来源,识别从站外发起的请求,也就能防御CSRF了。

使用验证码

每次用户提交内容时,要求其在表单中填写验证码,提交后对其进行检测。 

验证码机制是:服务器生成一个验证码,发送给客户端,以图片形式显示。然后客户填写后,发回服务器,对比验证。

使用token

CSRF能成功的一个重要原因是:攻击者能预知和伪造请求中的关键字段,因此,在请求中放入攻击者不能伪造的信息就能防御CSRF。 

token就是在请求中加入一个随机参数token,服务器进行验证。

SS4的CSRF防御实现

个人猜测SS4的CSRF是通过POST+Token的方式走的,即把token随机生成,然后hidden传输,具体机制知道的朋友也可以探讨下


Viewing all articles
Browse latest Browse all 130

Trending Articles