2012年(272)
分类: 网络与安全
2012-06-27 13:31:39
前两天出来了,今天看到茄子在玩。。。
http://www.packetstormsecurity.com/1009-advisories/ie8-forcedtweet.txt
也是很严重的一个漏洞,我们都知道同源策略限制脚本不能跨域读数据,用这个漏洞在IE里就可以了。
POC:
点击(此处)折叠或打开
原理:
import 远程文件后,渲染进入当前页面DOM,通过 document.body.currentStyle.fontFamily 访问此内容,估计问题是在IE里CSS Parser的过程,fontFamily:
后面的内容被当做了value。 FF也没有 currentStyle 这种对象。
我写这篇blog的原因是测试后,有了下面几个TIPS:
1. import 是在整个页面load完成后才加载的,所以我在POC里用了setTimeout
2. 不一定要 fontFamily, 随便自定义一个都可以,比如:
{}body{xxxx:"
然后取的时候:
document.body.currentStyle.xxxx;
3. 引号不是必须的,所以可以写成:
{}body{xxxx:
但我测试的一个case发现不带引号时丢了部分内容,后来重现不了了。
4. 不一定要body, * 也可以
{}*{xxxx:
5. 可以加入各种混淆
{}/*$$%%^^######*/body{xxxx:
{/*$$%%^^######*/}body{xxxx:
{
}body{xxxx:
6. 网站想防御可以转义 {、}、:
7. 可以import本地文件