3、MSN上空的“幽灵”:弹出窗口和伪造表单
MSN Messenger 是微软公司推出的即时消息软件,平台无缝结合加上其优秀的性能,使MSN Messenger拥有了大量的用户群。如果我们拥有hotmail 或者MSN的邮件账号,可直接登录MSN Messenger 而无需再申请新的账号了。看看下面的网站技巧,如果点击邮件中的链接,就会被引诱到伪装成MSN站点的假冒网站。假冒网站会显示一个与MSN背景类似的弹出窗口,而假冒网站的真实URL则被隐藏起来。在它的上面是一个小窗口,看上去与背景天衣无缝的结合在一起。如图3所示。

图3
这个网页骗局主要是使用弹出窗口,采用的是JavaScript的“window.createPopup()”方法。黑客使用Popup窗口的原因就是:支持跨窗口,显示优先级高。即使是Windows XP SP2,一个网页也允许出现一个由window.createPopup()建立的弹出窗口。因此就算是XP SP2环境也有可能被欺诈。代码中,var mytime=setTimeout("popshow();",100);表示设置窗口停留的时间为100秒。弹出的窗口没有地址栏,也没有可疑的URL地址;而且与背景相连,很容易给人造成一种错觉。用户输入相关数据后,网站就会提示如下界面,是真是假,我们就要睁大眼睛看清楚了。
在用户的实际防范中,虽然将活动脚本设为无效,就不会打开弹出窗口、可以防止上当,但这样会导致多数网站无法完整显示画面,或无法接收服务。类似的欺骗方法在很多页面都曾出现过,对于一般用户来说,一定要分清其来路。较实用的方法是在弹出的页面上点击右键,选择“属性”选项,就可以看到其真实地址。这样的骗局大多以银行、电子商务、重点企业用户等站点为仿冒对象,而且方法也很简单,因而十分常见。
了解了上述原理,我们再来看看钓鱼式攻击者所精心制作的表单。当这张表单的Submit按钮被点击后,用户数据即可开始传输到指定的服务器。Form的action属性表示用户提交表格时所要启动的相应处理程序。METHOD属性表示怎样将数据传送给WEB服务器,一种是GET方法(也是缺省方法),它将数据附加在URL信息上传送给WEB服务器;另一种是POST方法,它将数据独立成块地传送给WEB服务器。如果传送数据量大的话,还可以用POST方法。为了加强真实性,许多钓鱼式攻击者常在浏览器的状态栏上显示:“www.bank.com”,让人真假难辨。如果将鼠标移到HTML链接,状态栏将显示链接目标的URL。