美文网首页
CSRF攻击原理

CSRF攻击原理

作者: 这是什么娃哈哈 | 来源:发表于2019-12-03 23:50 被阅读0次

原文地址:https://www.yuque.com/linshiding/xss2bk/roz39s

什么是CSRF

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

上面这一段是来自百度百科的一段话,这里我们需要注意两个点,一个是跨站,所谓的跨站,是指不是来自同一个站点的攻击,并不是指跨域,即使你的站点没有开启跨域请求,依然有可能受到CSRF攻击。另一个是伪造,说的正是CSRF的攻击特点:伪造真实用户请求,让服务端认为是合理的请求,这正是我们要防范的地方。

通俗易懂:网站对用户浏览器的信任

CSRF是怎么攻击的

这里举一个例子:

1.用户小明登录了某银行网站A。

2.小明向好友转了1000块钱,假设转钱的请求是:http://xxx.com/transfer?money=1000&to=123456 其中money为金钱数额,to为要转向的人的账户id,这里是小明好友的账户id。

3.小明在保持银行账户还在登录状态的情况下,打开了恶意网站B(具体为什么打开,可能网站B有一些比较吸引人的地方...)。

4.网站B在被访问的时候,页面脚本立即发送一个预先设置好的请求:http://xxx.com/transfer?money=1000&to=654321 这时就会用小明身份向账户654321转1000块钱,小明莫名其妙就少了1000块钱。

攻击原理

cookie是罪魁祸首,我们知道cookie保存在浏览器的时候,只有本网站可以访问到,第三发网站不访问不了的,我们也没有办法访问其他网站的cookie的,这在一定程度上保证了cookie的安全性。

我们在浏览器上发送HTTP请求的时候,浏览器会把该域名下的cookie带上,一并发送到服务器。那么问题就来了,浏览器并不管当前发送请求的是哪个网站,是在哪个页面上发送的请求,只要你请求的域名在浏览器里保存有cookie信息,浏览器都会一并给你带上。

下面我们来看看,浏览器是怎么样带上cookie的,我们先登录百度,然后在百度上搜索关键字“csrf”,看到浏览器发送了一个搜索相关的请求,并且带上了cookie信息,如下图。

image

这是请求到的结果数据:

image

接下里,我们把刚刚那个请求复制下来,然后我们在本地启动一个服务,设置一个页面,这个页面在被访问的时候,会发送刚刚我们复制下来的搜索“csrf”的请求,然后我们打开这个页面,可以看到请求成功的发送了,并且还带上了我们在百度搜索时候的一模一样的cookie信息,返回的内容也一样,如下图:

image image

我们再来看看小明的案例,下图是小明案例的整个CSRF攻击的过程:

image

攻击的条件有两个:

1.小明处于登录状态

2.小明访问了恶意网站B

小明在登录了银行网站A之后,网站A会在浏览器写入cookie信息,以后的每次请求,都会带上这些cookie信息,来证明小明的身份。浏览器第一次发送的转账请求是小明亲自操作的,是合法的行为,而第二次发送的转账请求,是恶意网站发送的,是非法的行为,但服务器一直都认为是小明本人操作的,只是转账的对象不一样,都认为是合法行为,所以两次转账都成功了。

如何防范

知道了csef的攻击原理后,就可以做防范措施了。防范的原理很简单,只要不单单验证cookie信息来确认身份和合法性就可以防范了。目前的防范思路主要有两种:

1.验证请求来源,通过请求头的Referer或者Origin字段来判断来源。

2.生成随机的token,在请求的时候带上,在服务端验证token。

相关文章

  • CSRF

    CSRF攻击原理 CSRF Cross-site requestforgery跨站请求伪造,原理攻击者通过伪装成受...

  • 每日安全资讯(2020.01.14)

    CSRF攻击防御原理因为现代浏览器的工作机制原因,造成一种WEB攻击形态的存在, 这种攻击形式叫做CSRF攻击,以...

  • CSRF

    CSRF攻击原理 CSRF是什么呢?CSRF全名是Cross-site request forgery,是一种对网...

  • CSRF攻击原理

    原文地址:https://www.yuque.com/linshiding/xss2bk/roz39s 什么是CS...

  • csrf 攻击原理

    简单来说就是: 你访问了信任网站A,然后A会用保存你的个人信息并返回给你的浏览器一个cookie,然后呢,在coo...

  • CSRF安全漏洞以及防御实现

    CSRF攻击原理 CSRF:跨站请求伪造 用户访问一个正常网站例如www.baidu.com 用户又访问了攻击者构...

  • csrf攻击

    1、用自己的语言描述csrf攻击原理 当用户登录某个网站时,产生会话,然后去点击带有csrf攻击程序的web,CS...

  • 面试12:安全类

    课程思维导图 Q:常见的攻击方式有哪些? CSRF:跨站请求伪造 XSS:跨站脚本攻击 Q:CSRF的原理及防御措...

  • csrf攻击和防御(精简版)

    csrf(Cross-site request forgery)跨站请求伪造。一、攻击原理

  • CSRF知识点总结面试版

    CSRF跨站请求伪造 1.本质:代码层次上将,CSRF能攻击成功是攻击者能猜到你重要参数,因而伪造请求。 2.原理...

网友评论

      本文标题:CSRF攻击原理

      本文链接:https://www.haomeiwen.com/subject/nkfkgctx.html