中华网 为啥有病毒
安全阵线
本期主角 中华网博客
问题所在 IFRAME代码过滤不严
主要危害 进行挂马攻击
调研时间 2009.9.1
8~2009.10.13
漏洞状况 已通知修复
中华网——中国最早的门户网站之一,最早在纳斯达克上市的中文网站。我们电脑报的安全研究团队成员在该网站上发现了一个严重的挂马漏洞,可怕的是如果黑客先炒作一篇博客文章,让它登上中华网首页,再在博客文章中挂马,会有成千上万的电脑因此中毒。
大家好,我是你们的老朋友——安全实验室的苗得雨。9月18号我看到一些锐甲用户在抱怨中华网上有网页木马,于是好奇地去瞧瞧,还真发现了问题所在,中华网的博客存在过滤不严的挂马漏洞(编者注:该漏洞一直存在到我们通知修复为止)。
不得了的是该漏洞是存储式的,即黑客可以把网页木马的地址嵌入博客中,当用户进入博客时,就自动激活了网页木马。这就意味着黑客除了在QQ群、论坛等人多的地方宣传博客地址外,还可以想办法将博文弄到中华网首页,例如独家爆料XX内幕等。而中华网的访问量是非常大的(图1),该漏洞给网站的用户带来巨大的安全风险。

博客中的漏洞细节
凭我的经验,中华网博客系统应该出现了跨站漏洞。通过对源代码的分析,我发现黑客很可能是通过自定义模块功能,将网页木马地址加入中华网博客中的,于是我决定注册一个中华网账号进行测试。通过测试发现,中华网在博客内容编辑页面和标题栏等都做了很好的过滤。
安全小百科:跨站漏洞目前在国内外许多网站中都存在,黑客主要利用知名网站中的跨站漏洞进行挂马,使这些网站成为黑客挂马的跳板。这就如同你一直信任某家医院,但是这家医院却因为疏于做内部检查,导致有外来假冒医生可以在医院内部开设虚假诊所,打着这家医院的旗号欺骗患者。
但在中华网的自定义内容中,发现了可以被黑客利用的漏洞,“首页内容维护”模块在过滤IFRAME恶意代码方面存在过滤不严的问题,这就意味着黑客可以通过构造一段恶意IFRAME代码,就让中华网博客显示出来自中华网之外的内容。
漏洞利用方法
步骤1:确定网页木马要利用的漏洞,例如选择Flash漏洞,用特制的Flash 漏洞生成工具,生成一个PDF格式的溢出文件,这个PDF格式的文件中,包含Flash元素,当用户使用浏览器浏览或者下载该PDF时就会中马。下载一个Flash 漏洞生成器,在生成器中输入配置好的网页木马网址,然后点击“生成”即可(图2)。

步骤2:将生成的Flash溢出文件上传到网站空间中,然后再去中华网注册一个账号。我注册的中华网通行证账号为test_xss,申请的博客域名地址为http://testxss.blog.china.com,昵称为安全测试。账号注册完成后,再完成博客的简单设置。

步骤3:通过申请的通行证号码登录中华网,再进入中华网博客页面,点击博客上方的“控制面板”选项,再选择“首页内容维护”(图3),在网页右侧找到“自定义空白面板”一栏,然后点击“点击进入编辑界面”按钮。点击该按钮之后,网页会弹出一个名为“自定义空白面板列表”的新窗口,在这个新窗口中点击“新增”按钮,进入编辑界面(图4)。

在编辑页面的“面板标题”处随意填写一个名称,例如赞助商链接,然后在“面板简介”中点击蓝色地球图标“插入链接”,在弹出网页中“链接地址”一栏后面插入恶意代码<iframe src=http://www.baidu.com/ width=111 height=100 border=0></iframe>,代码填写完成之后点击“确定”按钮,最后再点击“保存”按钮。
步骤4:再次打开博客http://testxss.blog.china.com,博客中出现了百度的页面(图5),如果将百度的网址换成网页木马的地址,就可以挂马了。做到这步还不算完,真正的黑客还要发表一篇极具诱惑力的博文,争取博文被推荐到中华网的首页,那样造成的危害才会更大。

深度分析
中华网博客采用的是JSP,从服务器和网站本身的安全性来讲,还是具有相当挑战性的。不过大概也正因为如此,中华网忽略了一些类似跨站脚本这样的攻击手段,让黑客可以轻松地通过中华网的漏洞威胁到用户的安全。
从中华网的案例来看,许多网站程序员都已经开始注重博文编辑页面中的恶意脚本过滤,却忽略了博客模块中的代码过滤问题,这是目前导致许多博客网站漏洞频传的一个重要原因。所以对于博客和论坛的管理员来说,在使用博客插件模块和论坛插件模块的时候,务必要亲自检测一下代码的安全性。
中华网存在的跨站漏洞可能不止博客这一处,如何才能查找到此类漏洞呢?可以利用一些代码进行检测,也可以使用一些跨站漏洞检测工具,例如XSS LFI File Disclosure Scanner、Paros 等。其他网站也可能存在类似的漏洞,也可以用同样的方法进行检测。
此外,在网站建设初期,要加强对用户输入内容可靠性的限制管理,要对有输入框页面的富文本输入进行代码测试,在测试过程中如页面有任何框架变形或脚本错误提示,即预示着此页面极有可能存在跨站攻击漏洞。网站建好后,引入专业的黑盒与白盒测试工具,进一步确定网站的安全性。
对普通用户而言,上网时一定要开启杀毒软件的实时监控功能,最好使用带网页木马拦截功能的安全辅助工具。遇到网址,不要盲目点击,先看看网址是不是被加密过,如果网址被加密过就最好不要点击。