浏览器cookie安全机制和csrf-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 1154603
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: 网络与安全

2012-06-15 15:57:54

这两天hi群里在讨论关于csrf实现条件的问题,茄子指出了在ie环境下,csrf只是针对session cookie有效,而本地保存的stored cookie在变成当前iesession cookie前,跨域提交是会被ie阻断的。

通俗来讲就是如果浏览器进程中没有缓存过第三方站点,没访问过,那么使用img/ iframe 标签等跨域访问第三方站点是会被阻断发送cookie的。这时候的csrf就会仅仅只是get或者post请求,而不会发送cookie,那么很多需要验证的提交都会失败。

实际上这里是浏览器的一个cookie安全机制,不光是img iframe等标签,直接跨域 post或者 get都可能出现这种问题(使用session cookie stored cookie的区别)。 

我以前做的一个xss测试, xss成功了3000多次,但 csrf 的一个跨子域的请求却只成功了 100多次,当时总找不到原因,以为是payload稳定性的问题,现在想来应该就是这个跨域提交被阻断cookie的原因了。

那么根据设想,为了提高csrf的成功率,我们可以在xss后使用一次 window.open(),让用户开个小窗先访问下需要csrf的域,刷出来一个session cookie,然后就可以csrf了。不过这个想法还需要测试,而且也不够隐蔽。

ps: firefox不存在这种阻断cookie的机制


茄子的tips
http://xss.betaslife.com/blog/?p=24

阅读(2562) | 评论(0) | 转发(0) |
0

上一篇:一个有点扯淡的ppt

下一篇:

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图