csrf基础与进阶

上传人:n**** 文档编号:88889694 上传时间:2019-05-12 格式:PPT 页数:48 大小:1.10MB
返回 下载 相关 举报
csrf基础与进阶_第1页
第1页 / 共48页
csrf基础与进阶_第2页
第2页 / 共48页
csrf基础与进阶_第3页
第3页 / 共48页
csrf基础与进阶_第4页
第4页 / 共48页
csrf基础与进阶_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《csrf基础与进阶》由会员分享,可在线阅读,更多相关《csrf基础与进阶(48页珍藏版)》请在金锄头文库上搜索。

1、CSRF基础与进阶,王朋涛,深信服北京安全团队,CSRF简介 CSRF实例讲解 CSRF真实案例 CSRF进阶 探求本质CSRF深入解析 CSRF防御 CSRF 与 XSS 总结,培训提纲,CSRF简介,什么是CSRF? CSRF(Cross-site Request Forgery),中文名称:跨站点请求伪造,也被称为:One Click Attack/Session Riding,缩写为:CSRF/XSRF; CSRF这种攻击方式在2000年已经被国外的安全人员提出,但在国内,直到06年才开始被关注,08年,国内外的多个大型社区和交互网站分别爆出CSRF漏洞,如:NYT(纽约时报)、Met

2、afilter(一个大型的BLOG网站),YouTube和百度Hi而现在,互联网上的许多站点仍对此毫无防备,以至于安全业界称CSRF为“沉睡的巨人”。,CSRF简介,一句话概括CSRF: 攻击者盗用(伪造)了受害者的身份,以受害者的名义发送恶意请求,而这种恶意请求在服务端看起来只不过是正常请求。,CSRF简介,CSRF能做什么: 以受害者名义发送邮件,发消息,盗取受害者的账号,甚至购买商品,虚拟货币转账,修改受害者的网络配置(比如修改路由器DNS、重置路由器密码)造成的问题包括:个人隐私泄露、机密资料泄露、用户甚至企业的财产安全; 一句话概括CSRF的危害:盗用受害者身份,受害者能做什么,攻击

3、者就能以受害者的身份做什么。,CSRF简介,一张图了解CSRF攻击过程:,CSRF简介,CSRF攻击满足的【必要】条件: 用户 C 登录受信任网站 A,并在本地生成 Cookie; 在不登出 A 的情况下,访问危险网站 B。,CSRF简介,CSRF实例讲解,用虚拟的银行转账操作的例子演示CSRF的攻击过程: 银行网站 A,它以GET请求来完成银行转账的操作,如:http:/ (当然真实的银行网站不会这样做); 危险网站 B,它里面有一段HTML的代码如下:,CSRF实例讲解,用虚拟的银行转账操作的例子演示CSRF的攻击过程: 用户 C 先登录银行网站 A(A 网站会在浏览器本地生成Cookie

4、); 用户 C 不关闭 A,新开一个浏览器标签页紧接着再访问危险网站 B(网站 B 中加载的图片会向网站 A 发送一个转账请求,这个请求带着银行网站 A 的Cookie); 用户 C 的 1000 元钱在 C 不知情的情况下被转到了黑客的账户中。,CSRF实例讲解,为什么会这样? 银行网站A违反了HTTP规范,使用GET请求更新资源; 在访问危险网站B的之前,你已经登录了银行网站A,A网站在与浏览器的会话中生成了Cookie; B中的以GET的方式请求银行网站A(是一个转账请求,并附带着A的Cookie); 银行网站 A 收到请求后,认为这是一个更新资源操作(转账操作),所以就立刻进行转账操作

5、。,CSRF实例讲解,为了杜绝上面的问题,银行决定改用POST请求完成转账操作: 银行网站 A 将前端的转账Web表单改成如下形式:,CSRF实例讲解,为了杜绝上面的问题,银行决定改用POST请求完成转账操作: 银行网站A的后端PHP实现,如下:,CSRF实例讲解,而恶意网页 B ,仍然只是那一条HTML代码: 带恶意标签的HTML代码:,CSRF实例讲解,重复之前的操作过程: 先登录银行网站A; 不关闭网站A,打开新的标签页访问网页B; 1000元又不翼而飞!,CSRF实例讲解,为什么? 银行后台使用了 PHP 的 $_REQUEST 去获取请求的数据; 而 $_REQUEST 既可以获取G

6、ET请求的数据,也可以获取POST请求的数据; 后台处理程序无法区分这到底是GET请求的数据还是POST请求的数据,所以用 GET 请求的数据发到银行网站 A 的后台,数据一样被视为正常的。,CSRF实例讲解,怎么办? 在PHP中,可以使用 $_GET 和 $_POST 分别获取 GET 请求和 POST 请求的数据; 经过前面的惨痛教训,银行网站A决定把后端PHP获取数据的方式也强制改为$_POST,如下:,CSRF实例讲解,然而恶意网页B,也随着A的改动而改了成用POST发送数据的方式:,CSRF实例讲解,结果? 如果用户C还是按照前面的流程依次访问A和B,结果仍会是账户莫名其妙地少100

7、0元!,CSRF实例讲解,CSRF真实案例,昵图网某处CSRF可设置用户支付密码:,CSRF真实案例,昵图网某处CSRF可设置用户支付密码:,CSRF真实案例,暴走漫画刷金币CSRF漏洞:,CSRF真实案例,暴走漫画刷金币CSRF漏洞:,CSRF真实案例,PHPSHE关键位置CSRF增加管理员账号:,CSRF真实案例,PHPSHE关键位置CSRF增加管理员账号:,CSRF真实案例,TP-Link家用路由器CSRF致DNS劫持:,CSRF真实案例,CSRF进阶,浏览器的 Cookie 策略: 前面的例子之所以成功,是因为浏览器访问恶意网页B时,在B的域内向银行网站A发送请求,附带了A的Cooki

8、e; 浏览器持有的 Cookie 分两种:“Session Cookie”(临时Cookie)和“第三方Cookie”(本地Cookie); “第三方Cookie”被服务器设置了Expire时间,到了指定时间才会失效; “Session Cookie”没有指定失效时间,浏览器关闭就会失效。,CSRF进阶,浏览器的 Cookie 策略: 不同的浏览器对待这两种不同的Cookie,有不同的安全策略: - IE6、IE7、IE8、Safari处于安全考虑,默认禁止在、等标签中发送第三方Cookie; - Firefox2、Firefox3、Opera、Chrome、Android等浏览器默认允许在以

9、上标签中发送第三方Cookie; - 但上面的浏览器都会发送SessionCookie。,CSRF进阶,P3P头: W3C制定的一项关于用户隐私的标准; 无论任何浏览器类型,P3P头可以指定允许在危险标签中发送“第三方Cookie”,CSRF进阶,CSRF蠕虫: CSRF攻击方式的终极形式:自我复制、迅速传播; 2008年百度Hi的CSRF蠕虫: 漏洞出现在百度用户中心发送短消息功能中: 只需要指定 sn 参数为发送消息的用户,co 参数为消息内容,就可以成功发送短消息。,CSRF进阶,CSRF蠕虫: 如何成为蠕虫? 此处配合了另外一个漏洞:百度空间的好友功能数据是使用json格式实现的,此接

10、口没有做任何的安全限制,只需将 un 参数设定为任意用户账号,就可以获得指定用户的百度好友数据,如下,CSRF进阶,CSRF蠕虫: 蠕虫思路: 将上面两个漏洞结合起来:让一个百度用户查看恶意页面后,将会给他的所有好友发送一条短消息,消息中包含一张图片,图片地址再次指向CSRF漏洞利用的恶意页面,这些好友再次将同样的消息发送给他们所有好友 蠕虫得以呈指数方式传播。,CSRF进阶,CSRF深入解析,本质是什么? 由上面的原理简介和案例解析可知:CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的; 再深入一

11、点,其本质原因是重要操作的所有参数都可以被攻击者猜测到。,CSRF深入解析,CSRF防御,验证码 验证码被认为是对抗 CSRF 攻击【最简洁有效】的防御方法;,CSRF防御,Referer Check(请求来源检查) 检查HTTP请求头部的 Referer 字段,该字段标明请求来源URL,CSRF防御,Anti CSRF Token CSRF的本质是:重要操作的所有参数都可以被攻击者猜测到。 最容易想到的,【防猜测】的措施? 加密! http:/host/path/zhuanzhang?to=blank_id&count=1000 http:/host/path/zhuanzhang?to=m

12、d5(salt+blank_id)&count=1000,CSRF防御,Anti CSRF Token 【防猜测】的改进方案: 随机Token(令牌) http:/host/path/zhuanzhang?to=blank_id&count=1000 http:/host/path/zhuanzhang?to=blank_id&count=1000&token=random(seed),CSRF防御,Anti CSRF Token 注意事项 真随机 Token 泄露:直接在 URL 后面附带 Token,可能会造成 Token 泄露 XSS 攻击也可以获取到 Token 的值,CSRF防御,CSRF与XSS,CSRF的防御方案仅用于对抗CSRF攻击 但如果网站还同时存在XSS漏洞,则CSRF的防御措施就形同虚设; XSS 可以模拟浏览器执行大部分操作,在 XSS 攻击下,攻击者可以请求页面后,读出页面内容里的 Token,然后再构造一个合法请求,这个过程称为XSRF; XSS带来的问题,应由XSS的防御方案予以解决。 安全防御的体系相辅相成,缺一不可。,CSRF与XSS,总结,总结,概述CSRF攻击基本原理 示例演示CSRF攻击 展示真实的CSRF攻击案例 CSRF高级攻击技术 CSRF防御,,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号