IE中限制flash访问document对象的一个bug 's

admin 2017年4月27日02:35:23评论305 views字数 1131阅读3分46秒阅读模式
摘要

作者:刺虽然IE备受批评,但是从某些安全性上来说,IE还是做的挺不错的。
比如IE中iframe拦截本地cookie,IE在iframe里实现一个security属性。这些特性都是FF没有的。

作者:

虽然IE备受批评,但是从某些安全性上来说,IE还是做的挺不错的。
比如IE中iframe拦截本地cookie,IE在iframe里实现一个security属性。这些特性都是FF没有的。

而今天则看到了另外一个安全问题。
在浏览器里,如果直接访问某个swf文件,浏览器会自动加上embed标签

比如,直接访问 http://www.fvck.com/svck.swf
那么,
对于FF(Firefox 3.0.3测试),页面源代码为:

<embed height="100%" width="100%" name="plugin" src="http://www.fvck.com/svck.swf" type="application/x-shockwave-flash"/>

对于IE(IE7测试),会自动调用res://mshtml.dll/objectembed_neutral.js 来生成页面,页面代码为

<html><head><script src="res://mshtml.dll/objectembed_neutral.js"></script></head><body objectSource="http://www.fvck.com/svck.swf" onload="ObjectLoad();" leftmargin=0 topmargin=0 scroll=no> <form id="objectDestination"></form> </body></html>

注意到,这两个页面的embed标签里面,都没有设置allowScriptAccess属性的值。

Flash 8 以后, allowScriptAccess 默认值是 sameDomain ,我的flash版本是 9.0.124 ,所以在这里应该也是 sameDomain,就是说,svck.swf可以访问当前html里的js和DOM对象

在IE里,认为这样自动化生成的页面是不怎么安全的,所以IE做了一件事情,就是限制这个flash访问当前窗口的document 对象
IE中限制flash访问document对象的一个bug  's
这本来是很好的,但是IE居然存在这样一个bug (存在IE6 /IE7 / IE8 Betas 中):

刷新一次页面后,原本被限制访问的document对象,居然可以访问了!

简单的F5刷新页面后:
IE中限制flash访问document对象的一个bug  's
对于Firefox ,则更不堪,从一开始就没有做任何限制
IE中限制flash访问document对象的一个bug  's
那么,如何利用这个特性,或者说是bug?

在flash的as 脚本中,直接调用

window.location.reload();

刷新当前页面,就可以访问当前页面的document对象了。

在这里,还可以在AS中通过捕获访问docuemnt的异常来判断浏览器是否是IE,也算是一种fingerprint。

该Bug发现者的原文在这里

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月27日02:35:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IE中限制flash访问document对象的一个bug 'shttps://cn-sec.com/archives/45631.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息