Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1198846
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

分类: 网络与安全

2012-06-27 13:31:39

前两天出来了,今天看到茄子在玩。。。

http://www.packetstormsecurity.com/1009-advisories/ie8-forcedtweet.txt

也是很严重的一个漏洞,我们都知道同源策略限制脚本不能跨域读数据,用这个漏洞在IE里就可以了。

POC:


点击(此处)折叠或打开

  1. {}body{font-family:
  2. aaaaaaaaaaaaaa
  3. bbbbbbbbbbbbbbbb

原理:
import
远程文件后,渲染进入当前页面DOM,通过 document.body.currentStyle.fontFamily 访问此内容,估计问题是在IECSS 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本地文件

阅读(1411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~