web安全学习笔记之-脚本安全-CSRF

CSRF

是什么?cross site request forgery,跨站点伪造请求。

先了解现在浏览器的cookie策略:

浏览器有两种cookie

1、session cookie ,临时cookie。无expire时间,保存在浏览器进程的内存空间里

2、第三方cookie  也叫本地cookie。保存在本地,有expire时间


浏览器的session cookie在不同tab间是有效的,而本地cookie会遵循同源策略


CSRF就是利用用户的cookie,默默的伪造请求达到破坏。

这些请求不管是get还是post。都是可以伪造的。鹅厂里所有的写操作都要求只接受post方法,这也只是为了适当提高攻击门槛而已,不是决定性的。还需要更多手段


有的CSRF攻击,并不需要有xss漏洞,可能就是一些正在功能,被伪造请求组合起来就能达到目的。

或者是一个后台参数验证不够严谨,这对于经常做营销活动的后台同学再熟悉不过了。


CSRF防御手法

1、图片验证码  由于后台验证要是人为操作,至少是用户亲手做的,让攻击者默默伪造请求的门槛提高不少。但是这个交互体验不好,一般就用在安全性要求高一点的场合,例如支付、注册等

2、reference check 。如果知道某个请求只可能来自某个页面,那就可以直接校验这个请求的refer。缺陷在于服务器拿到refer这个事情保证不了。监控的意义大于防御的作用

3、token 检查

CSRF成功的原因是,攻击者可以提前猜中请求需要的所有参数,才能伪造。

所有参数里增加一个随机的token,这让攻击者无法伪造这个参数,至少不能提前给出一个对很多用户都行之有效的token。

token校验还能防御jsonhijacking

http://drops.wooyun.org/papers/42


目前鹅厂是用cookie里的值再hash出一个数字来。这样服务器根据cookie去验证token是否正常。

通常都是建议token放到post的表单参数里。而鹅厂这么大一个平台为了防御措施的圆满执行,选择放到url里。功效其实差不多。

安全性还是在于信赖cookie,守住cookie才是重点。当有平台上的xss漏洞的时候,csrf的防御也就失效了。

在xss背景下做csrf攻击,有个概念叫xsrf,有区别。


所以XSS的问题还是的XSS的防御,和CSRF防御体系是相辅相成,缺一不可。


通过这一章节的学习,得到更多概念上以正视听。

私自以为如果说防御xss要考验必备的转义、过滤、cookie安全知识。

那么csrf防御考得是后台开发的慎密,参数验证,信任机制、逻辑设计等方面捍卫安全利益。


还记得入职培训里很经典的一句话:后端不要相信前端






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值