什么是CSRF 攻击

Posted

tags:

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

CSRF攻击是通过强制用户登录到攻击者控制的账户来策划的。为了达到这一目的,黑客使用他们的凭证向网站伪造一个状态改变请求,并将表单提交到受害者的浏览器。服务器对浏览器请求进行身份验证,并将用户登录到攻击者的账户。当受害者向攻击者的账户提交正在登录的敏感信息时,攻击者可以利用这些信息执行一些不必要的操作,包括身份盗窃。

CSRF攻击的攻击原理

CSRF攻击一般的攻击原理是,攻击者向目标网站注入一个恶意的CSRF攻击URL地址,当用户访问某特定网页时,如果用户点击了该URL,那么攻击就触发了,我们可以在该恶意的URL对应的网页中,利用来向目标网站发生一个get请求,该请求会携带cookie信息,所以也就借用了用户的身份,也就是伪造了一个请求,该请求可以是目标网站中的用户有权限访问的任意请求。也可以使用javascript构造一个提交表单的post请求。比如构造一个转账的POST请求。

所以CSRF的攻击分为了两步,首先要注入恶意URL地址,然后在该地址中写入攻击代码,利用等标签或者使用JavaScript脚本。

防御手段

1、尽量使用post,限制get

2、浏览器cookie策略

3、加验证码,强制用户必须与应用进行交互,才能完成最终请求

4、Referer Check

5、Anti CSRF Token

参考技术A CSRF:Cross Site Request Forgery(跨站点请求伪造)。

CSRF 攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。

避免方法:

CSRF 漏洞进行检测的工具,如 CSRFTester、CSRF Request Builder...

验证 HTTP Referer 字段

添加并验证 token

添加自定义 http 请求头

敏感操作添加验证码

使用 post 请求

什么是CSRF攻击?什么是XSS攻击?解决方案有哪些?

    CSRF(跨站请求伪造),全名是Cross-site request forgery,是一种对网站的恶意利用,CSRF比XSS更具危险性。

    XSS(跨站脚本攻击),它的全名是Cross-site scripting,为了和CSS层叠样式区分开所以取名XSS。是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含HTML以及用户端脚本语言。

    解决方案,https://segmentfault.com/q/1010000004067521(摘自网络)

     当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放

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

什么是CSRF攻击?

什么是 CSRF攻击?

什么是CSRF攻击,如何预防

CSRF攻击详解 - 常见的Web攻击方法

CSRF攻击

什么是 CSRF 攻击,如何避免?