什么是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 攻击的主要内容,如果未能解决你的问题,请参考以下文章