网站应用攻击与防御之CSRF攻击

CSRF (Cross Site Request Forgery ,跨站点请求伪造) ,攻击者通过跨站请求,以合法用户的身份进行非法操作,如转账交易、发表评论等。 CSRF 的主要手法是利用跨站请求,在用户不知情的情况下,以用户的身份伪造请求。其核心是利用了浏览器 Cookie 或服务器Session 策略,盗取用户身份。

网站应用攻击与防御之注入攻击CSRF攻击

相应地, CSRF 的防御手段主要是识别请求者身份。主要有下面几种方法。

表单 Token

CSRF是一个伪造用户请求的操作, 所以需要构造用户请求的所有参数才可以。表单Token通过在请求参数中增加随机数的办法来阻止攻击者获得所有请求参数: 在页面表单中增加一个随机数作为Token,每次响应页面的Token都不相同,从正常页面提交的请求会包含该Token值 , 而伪造的请求无法获得该值, 服务器检查请求参数中Token的值是否存在并且正确以确定请求提交者是否合法。

验证码

相对说来,验证码则更加简单有效,即请求提交时,需要用户输入验证码,以避免在用户不知情的情况下被攻击者伪造请求。但是输入验证码是一个糟糕的用户体验,所以请在必要时使用,如支付交易等关键页面。

Referer check

HTTP 请求头的 Referer 域中记录着请求来源,可通过检查请求来源,验证其是否合法。很多网站使用这个功能实现图片防盗链(如果图片访问的页面来源不是来自自己网站的网页就拒绝)。

打赏
吐槽 (6)
×
加载中,请稍候…

您需要 登录 后才能发表评论。

avatar

- 评论

  • 加载中,请稍候…
我要吐槽