csrf是如何被绕过验证的呢?

__一念花落丶胡歌


要知道,一个网站的运营并非易事,除了前期的研发投入、后期的运营投入外,网站的安全性也是很重要的。只要你的网站暴露在公网上,肯定会受到很多攻击,而这些攻击中有一种攻击并不需要篡改网站源码就能发起攻击,那就是CSRF攻击。

什么是CSRF?

CSRF是“跨站请求伪造”的英文简称,它主要是利用站点鉴权漏洞来实现攻击的。通俗的说就是:攻击者借用了你的身份,以你的名义发起了恶意请求,而对于服务器来说这个请求是完全合法的,比如借助你的名义来:购买商品、转帐、删除某些数据等。

CSRF攻击原理

导致受到CSRF攻击的根源在于网站的鉴权机制不严谨,没有判断用户的请求来源是否正常。

CSRF防御措施

知道了CSRF攻击原理后,我们就可以通过很多措施来进行防范了,方案有以下几类:

1、验证请求来源(HTTP Referer)

HTTP请求头信息中有个字段是Referer,它记录了当前请求的上一级请求地址。我们可以判断当前请求来源是否是当前域,若不是,则服务器端拒绝响应。

但是Referer是可以伪造的!

2、请求中添加Token验证

要抵御CSRF就要在请求中加入一些让第三方无法伪造的信息,而且这些信息不能存放在Cookie中!所以我们可以在请求中加入Token,然后由服务器端验证此Token是否合法。

3、验证码

对于一些敏感操作可以要求输入验证码进行确认操作,这样就完全解决了CSRF了,只是操作流程上麻烦一些。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!


分享到:


相關文章: