干货傍身沉睡的巨人—CSRF
Posted 小恒资讯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货傍身沉睡的巨人—CSRF相关的知识,希望对你有一定的参考价值。
据说老王又摊上事了
▼老王在自己的电脑上刚刚查看完自己的银行A账户余额,然后比较无聊就跑到一个公开的BBS上灌水,当他看到一篇“银行A的内部照片”的帖子,很有兴趣的打开这个帖子想看看自己信任的银行A的内部图片是啥样子的,殊不知,这其实是一个attacker精心设计的骗局。
▼在这个帖子中确实有几个图片,看上去真的像是银行A的照片,但是其中有个图片没显示出来,老王以为是自己网速太慢,导致这个图片没有加载进来,也没在意。只是对这些并不是十分满意的照片摇摇头,就关了这个帖子。
▼几天后,老王猛然发现自己在银行A的账户上少了1000元,到底是怎么了?
老王懵了,还记得当时老王刚刚查看完账号信息,基于银行的Cookie并不过期,当出现如上链接时,浏览器尝试着按照本地的Cookie去加载上面这个URL,而银行验证了来源请求的Cookie是可以的,一切就这么发生了。
这就是CSRF,一句话给他下个定义就是:借你的cookie在你不知道的时候悄悄的做了一些你不愿意做的事情。
咱们来扒扒CSRF
全名: Cross Site Request Forgery
中文名:跨站请求伪造
号称:沉睡的巨人
攻击者盗用你的身份,以你的名义发送恶意请求,包括以你名义发邮件,发消息,盗取账号,购买商品,转账等,直接导致个人隐私泄露以及财产受损。
网站A不知道(5)中的请求是用户发出的还是危险网站B发出的,由于浏览器会自动带上用户的Cookie,所以A会根据用户的权限处理(5)的请求,这样B就达到了模拟用户操作的目的。
从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:
1.登陆受信任的网站A,并在本地生成Cookie
2.在不登出A的情况下,访问危险网站B
看到这里,你也许会说:“如果我不满足以上条件中的一个,就不会受到CSRF”。然而
1.你不能保证你登陆了一个网站后,不再打开一个tab页面并访问另外的网站
2.你不能保证你关闭浏览器后,你本地的Cookie立刻过期,你上次的会话已经结束。
对于开发者
1.使用验证码
2.检测Referrer
3.使用Token抵御CSRF
对于普通网民
避免上一些不安全网站,忍住好奇心,不去点击来路不明的链接
以上是关于干货傍身沉睡的巨人—CSRF的主要内容,如果未能解决你的问题,请参考以下文章