安全指南:Flash怎么成为SNS社区“炸弹”
SNS火爆,Discuz!也适时地推出能将Discuz!论坛变为SNS网站的软件UCenter Home。该软件可以免费使用,不少Discuz!论坛进行了升级。在搜索引擎中搜索“Powered by UCenter Home”,可以得到约19400000条结果。我们安全研究团队发现该软件存在安全隐患,可以导致大量SNS网站被挂马。
之前听说UCenter Home搭建的SNS社交网站,可以弹出任意网站。听到这个消息我比较吃惊,那不就是说可以在UCenter Home搭建的SNS社交网站中随意地挂马吗?
经过一番检测,我发现UCenter Home的安全措施做得不错,一些常见可能出漏洞的代码都特别处理过了,但是没有对用户上传的Flash进行脚本过滤。
本期主角 UCenter Home
问题所在 Flash脚本过滤不严
主要危害 网站被黑客挂马
漏洞状况 已通知修复
之前听说UCenter Home搭建的SNS社交网站,可以弹出任意网站。听到这个消息我比较吃惊,那不就是说可以在UCenter Home搭建的SNS社交网站中随意地挂马吗?
既然同事敢这么说,一定是有根据的,我决定寻找原委,一探究竟。经过一番检测,我发现UCenter Home的安全措施做得不错,一些常见可能出漏洞的代码都特别处理过了,但是没有对用户上传的Flash进行脚本过滤。
安全小百科:UCenter Home是一套采用PHP+MySQL构建的社交化网络软件(Social Network Software,简称SNS)。通过它建站者可以轻松构建一个以好友关系为核心的SNS交流网站,让站点用户可以用迷你博客一句话记录生活中的点点滴滴,方便快捷地发布日志、上传图片,与其好友们一起分享信息、讨论感兴趣的话题。
Flash脚本过滤不严
SNS社交网站允许插入Flash动画再平常不过,可谁也没想到Flash的安全隐患。Flash支持一种名为ActionScript的脚本语言, 它可以让Flash实现许多交互效果,也留下了诸多隐患,例如弹出新窗口等,没有对ActionScript进行有效的过滤,最终导致了UCenter Home可以被黑客在里面挂马。
这一次UCenter Home中的漏洞允许黑客做两件事情,弹出网页和弹出窗口,比起一般的挂马漏洞来说,黑客可以做更多的坏事,例如在挂马之外黑客通过弹出中奖网页进行诈骗。
安全小百科:ActionScript脚本语言是 Macromedia(现已被Adobe收购)专门为Flash开发的,最初是一种简单的脚本语言,现在最新版本3.0,是一种完全面向对象的编程语言,功能强大,类库丰富,语法类似JavaScript,多用于Flash互动性、娱乐性、实用性开发,网页制作和RIA应用程序开发。
如何利用漏洞挂马
第一步:首先安装Adobe Flash制作软件,然后新建一个Flash动画文件,完成之后按F9键调出“动作”面板(图1)。 “动作”面板的编辑环境由左右两部分组成,左侧部分又分为上下两个窗口,上方是动作工具箱窗口、下方是脚本导航窗口。在右边的脚本编辑窗口中点击“添加脚本”,向脚本窗口添加代码“getURL("http://www.google.cn", "_top","GET");”。
安全教程:Flash如何成为SNS社区“炸弹” src="/51wmzxUpload2/20180330122140_1.jpg">
安全小百科:左侧下方的“脚本”导航器中,列出了Flash文件中具有关联动作脚本的帧位置和对象,单击脚本导航器中的项目,与该项目相关联的脚本则会出现在脚本编辑窗口中,并且场景上的播放头也将移到时间轴的对应位置上。双击脚本导航器中的项目,则该脚本会被固定。
第二步:再新建一个Flash动画文件,重复前面步骤的动作,不过此时在脚本编辑窗口中添加的代码改为“getURL("javascript:window.location.reload();alert('xss');", "_self", "GET");”。
找到一个能够上传Flash动画的网站,将制作好的两个Flash动画上传到该网站,并通过查看源代码等方式找到上传动画的URL地址。保存地址,再找到一个用UCenter Home构建的SNS社区网站,注册一个用户名和密码(图2)。
安全教程:Flash如何成为SNS社区“炸弹” src="/51wmzxUpload2/20180330122140_2.jpg">
第三步:注册完账号后,点击“发表新日志”按键,发表一篇帖子。此时在网页新弹出的日志内容窗口上方,会有一排快捷键。在快捷键中找到插入Flash动画的按键,点击“插入视频Flash”(图3)。
安全教程:Flash如何成为SNS社区“炸弹” src="/51wmzxUpload2/20180330122141_3.jpg">
在弹出的输入窗口中,将动画类型选为“Flash动画”,然后在后面的动画URL地址中输入我们上传的Flash动画URL地址,点击“确定”。
退出编辑页面,重新打开新发表的日志,此时页面会先弹出Google网站(图4)。
安全教程:Flash如何成为SNS社区“炸弹” src="/51wmzxUpload2/20180330122141_4.jpg">
然后弹出一个Windows提示窗口(图5)。
安全教程:Flash如何成为SNS社区“炸弹” src="/51wmzxUpload2/20180330122141_5.jpg">
深度分析
上面例子中弹出的窗口或者网页,如果将地址修改成网页木马的地址就是网页挂马了,如果将弹出的信息又修改为“恭喜你,中奖了!”就是网络诈骗了。可见该漏洞的危害是比较大的。
导致漏洞出现的直接原因还是Flash,自从它诞生后安全问题就一直没有断过,几乎每个版本都出过或大或小的漏洞。
黑客之所以喜欢挖掘Flash漏洞是有原因的,Flash挂马隐蔽性好,允许上传Flash的网站也非常多。
此外,Flash还有一些合法的但有安全隐患的功能,例如弹出窗口,网站管理员要特别注意,要进行一些限制,过滤用户上传Flash中的安全隐患。
方法是只能用网站的Flash播放器进行播放,而不允许用户直接将Flash插入网页中,还要设置播放器不允许Flash自动播放。
关键词:安全教程:Flash如何成为SNS社区“炸弹”