CSRF时跨站请求伪造、盗用用户身份发起请求
标准回答
CSRF跨站点请求伪造(Cross Site Request Forgery)和XSS攻击一样,有巨大的危害性,就是攻击者盗用了用户的身份,以用户的身份发送恶意请求,但是对服务器来说这个请求是合理的,这样就完成了攻击者的目标。CSRF攻击的过程原理是:
预防CSRF攻击主要有以下策略:
加分回答
验证HTTP Referer字段的好处就是实施起来特别简单,普通的网站开发不需要特别担心CSRF漏洞,只需要在最后面设置一个拦截器来验证referer的值就可以了,不需要改变已有的代码逻辑,非常便捷。但是这个方法也不是万无一失的,虽然referer是浏览器提供的,但是不同的浏览器可能在referer的实现上或多或少有自身的漏洞,所以使用referer的安全保证是通过浏览器实现的。使用token验证的方法要比referer更安全一些,需要把token放在一个HTTP自定义的请求头部中,解决了使用get或者post传参的不便性。
举个简单的例子就是如果用户A在某个社交平台上可以通过一个get请求对某个人进行关注,这个请求发送到服务器会先验证这个请求是不是来自一个合法的会话session,并且这个session用户A已经成功登陆。然后前提是这个攻击者知道get请求的格式,它通过一样的get请求向服务器发起请求,但是这个请求无法通过认证,因为这个请求的来源不是用户A。这时候攻击者自己做一个网站,在网站中放入get请求,然后攻击者需要诱导用户A去访问这个网站,这时候请求会在用户A的浏览器发出,而这个请求会附带上用户A的认证信息,前提是用户A的session恰巧没有过期,那么这时候用户A就会通过攻击者的get请求在不知不觉中在社交平台关注到攻击者的账号。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
得分点
CSRF时跨站请求伪造、盗用用户身份发起请求
参考答案
标准回答
CSRF跨站点请求伪造(Cross Site Request Forgery)和XSS攻击一样,有巨大的危害性,就是攻击者盗用了用户的身份,以用户的身份发送恶意请求,但是对服务器来说这个请求是合理的,这样就完成了攻击者的目标。CSRF攻击的过程原理是:
预防CSRF攻击主要有以下策略:
加分回答
验证HTTP Referer字段的好处就是实施起来特别简单,普通的网站开发不需要特别担心CSRF漏洞,只需要在最后面设置一个拦截器来验证referer的值就可以了,不需要改变已有的代码逻辑,非常便捷。但是这个方法也不是万无一失的,虽然referer是浏览器提供的,但是不同的浏览器可能在referer的实现上或多或少有自身的漏洞,所以使用referer的安全保证是通过浏览器实现的。使用token验证的方法要比referer更安全一些,需要把token放在一个HTTP自定义的请求头部中,解决了使用get或者post传参的不便性。
延伸阅读
举个简单的例子就是如果用户A在某个社交平台上可以通过一个get请求对某个人进行关注,这个请求发送到服务器会先验证这个请求是不是来自一个合法的会话session,并且这个session用户A已经成功登陆。然后前提是这个攻击者知道get请求的格式,它通过一样的get请求向服务器发起请求,但是这个请求无法通过认证,因为这个请求的来源不是用户A。这时候攻击者自己做一个网站,在网站中放入get请求,然后攻击者需要诱导用户A去访问这个网站,这时候请求会在用户A的浏览器发出,而这个请求会附带上用户A的认证信息,前提是用户A的session恰巧没有过期,那么这时候用户A就会通过攻击者的get请求在不知不觉中在社交平台关注到攻击者的账号。