返回目录 摘自《白帽子讲Web安全》4.2.1浏览器的Cookie策略:IE拦截第三方cookie,必须先让session cookie有效才可攻击火狐不拦截第三方cookei,能够直接攻击网站倘若不运用cookie,就不消顾虑,能够直接攻击4.2.2P3P头的副功效:准许跨域set-cookie(破坏同源策略),CSRF防御不可依赖于浏览器拦截第三方cookie4.2.3GET和POST服务器无区分get和post请求,用户可构造一个GET请求提交表单区分,有若干种办法来构造一个post请求。4.2.4Flash CSRF4.2.5CSRF Worm即使无XSS漏洞,仅仅依靠CSRF,亦能发起蠕虫攻击。4.2.1浏览器的Cookie策略
删除外链论坛:www.fok120.com博客文案攻击之因此会成功经过外链论坛:www.fok120.com服务器验证,是由于用户的浏览器成功发送了Cookie的缘故。
浏览器所持有的Cookie分为两种: 一种是“Session Cookie”,又叫作“临时Cookie”;另一种是“Third-party Cookie”,亦叫作为“本地Cookie”。例,“http://www.a.com/cookie.php”代码如下,给浏览器写入2个cookie
<?php
header{"Set-Cookie:cookie1=123;"};//临时cookie
header{"Set-Cookie;cookie2=456;expires=Thu, 01-Jan-2030 00:00:01 GMT;",false};//本地cookie
?>
两者的区别在于 Third-party Cookie是服务器在Set-Cookie时指定了Expire时间,仅有到了Expire时间后Cookie才会失效,因此这种Cookie会保留在本地;Session Cookie则无指定Expire时间,保留在内存中,因此浏览器关闭后,Session Cookie就失效了。浏览网站,若是一个网站设置了Session Cookie,那样在浏览器进程的生命周期内,即使浏览器新打开了Tab页,由于新Tab页在同一个浏览器进程中,Session Cookie亦都是有效的,因此呢Session Cookie将被发送。
倘若浏览器从一个域的页面中,要加载另一个域的资源,因为安全原由,某些浏览器会阻止Third-party Cookie的发送。
例,用户在http://www.a.com域中,而在另一一个域中,有一个页面“http//:http://www.b.com/csrf.html”,此页面构造了csrf以拜访“www.a.com”,代码如下
<iframe src="http://www.a.com"></iframe>
此时能够发掘,仅有Session Cookie被发送了,而Third-party Cookie被禁止了。
IE出于安全思虑,默认禁止了浏览器在 <img> 、<iframe> 、<script> 、<link>等标签中发送第三方Cookie。
Safari亦会拦截第三方Cookie。
在火狐中,默认策略是准许发送第三方Cookie的。
Opera,Chrome,Android亦都不会拦截第三方Cookie。
因此,删除博客文案CSRF要成功必须 运用火狐
|