CSRF攻击与防御(转)

转自:https://blog.youkuaiyun.com/xiaoxinshuaiga/article/details/80766369(源源作者连接失效,转载的第二任的)

 

用自己的话描述:

  以文中银行转账为例,CSRF攻击就是你登陆了A银行,所以你的浏览器上有登陆A银行网站需要的认证信息(cookies),你没有退出A银行网站,这时打开了B网站,B网站伪造了一个转账的请求(比如美女图片,你点击美女图片就会触发一次转账请求,由于没有退出A银行,所以这次请求会携带cookies,从而让A银行误以为是本人的正常操作,导致错误转账)。

  构造随机token,意思是正常请求A银行网页的时候,会返回一个正经网页,该正经网页会携带A银行网站随机生成的一个token过来,你只有点击这个正经网页的提交表单才能获取这个token并返回给A银行网站。假如在不退出登陆状态情况下打开B网站的网页,并且点击了这个不正经网页的美女图片,由于这个不正经网页中不含有token,所以,虽然这个 不正经网页能获取cookies,但是没法获取token,因为token只存在于正经网页中。

 

既然js能获取cookie,那么能否通过js获取csrf-token呢?

  获取到cookie中Token的值需要用到JavaScript,如果能使用JS获取Cookie中的值,那就涉及到另外一种漏洞:XSS跨站脚本攻击了。 CSRF劫持用户cookie,攻击者只能使用这个Cookie执行用户操作,但Cookie里面写的是什么,攻击者是看不到的。也就是说,js只能操作本站cookie,对于别的站点的cookie是操作不了的,除非使用xss跨站脚本攻击

 

转载于:https://www.cnblogs.com/olivertian/p/10934032.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值