该类新型Web劫持是利用script脚本实现的。在已知的案例中,黑客入侵了某地方门户网站,篡改了该网站的新闻页面,并向这些页面植入自己的广告、新闻及恶意代码。一旦用户从搜索结果页面点击进入被篡改过的新闻页面,script脚本就会用假页面置换原搜索结果页面。因为该黑客使用了与原搜索引擎极其近似的域名,并阻止浏览器的后退功能退回原页面,所以一般用户很难察觉自己打开的网站已经被调包了。
下面我们自己写一个小代码进行本地测试,测试方法比较简单,创建两个文件index.html和new.html。
Index.html页面比较简单,就是引入一个a标签,然后点击在新窗口中打开new.Html,代码如下。
附图6:测试用Index.html的代码
New.Html里面就增加了一个script脚本,用来处理window.opener,代码如下。
附图7:测试用New.html的代码
红框中的就是核心代码,也就是导致原页面重置的原因。然后我们分别在Chrome、Firefox、IE8环境进行测试。
Chrome
附图8:Chrome浏览器下的测试结果
截图中就可以看到打开新页面时,前面的index.html已经是百度首页了。
Firefox
附图9:FireFox浏览器下的测试结果
火狐也是一样的。
IE8
附图10:IE8浏览器下的测试结果
IE8也跳转过去了。
至此我们就了解了页面是如何将百度的窗口跳转到另一个页面的。