不同于常见的劫持IE主页,一些对浏览器的劫持发生在无法访问的网页等特殊页面。一般IE打不开的网页会显示“Internet Explorer 无法显示该网页”,这是由注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AboutURLs下的NavigationFailure值决定,不同操作系统上不同版本的浏览器可能有不同的值,如res://shdoclc.dll/navcancl.htm(IE6?)和res://ieframe.dll/navcancl.htm(IE7?),都是正常的值。除了无法显示的网页外,还有空白页、脱机浏览等特殊页面也在这个注册表项下。
如果出现本应该显示“Internet Explorer 无法显示该网页”,却自动跳转到一个导航网页(如2345导航),那就可能是被劫持了shdoclc.dll或ieframe.dll,估计shdoclc.dll的情况居多。关于上面res协议的解释,可以参考http://baike.baidu.com/view/1508651.html,简单的说“用来提取程序模块中的资源”,以前有跨站漏洞指,如res://shdoclc.dll/navcancl.htm#http://...这样的形式用#引用一个网址。不过此漏洞可能已被修复,而且添加太过明显,还是篡改替换shdoclc.dll或ieframe.dll也许更容易达到劫持IE的目的。所以如发现如前所述的现象,除了检查注册表中是否有存在被劫持的网页地址(搜搜也好),就是要核查shdoclc.dll或ieframe.dll是否为系统原来的文件没有被修改过,如有被改则用正常的同名文件覆盖修复回来。
另外,还有可能是IE默认的搜索被改了,打不开网页时,默认使用内置的搜索引擎去找这个页面,就象用电信宽带时打不开的网页全跑到114上去了,IE默认的是bing,如果有被篡改可以用相应工具修复(如360或金山,我可不偏向谁)。不过如果是搜索被改,打开的应该是一个搜索结果的页面,而不是导航网页。还有猜测是HOSTS被修改,转向一个网页,那要加多少网址,也不必在打不开网页时出现的导航页面上画蛇添足说:“抱歉,您输入的页面目前无法访问,可能是网络、网站或其他故障”。因此我觉得还是说前面两个dll文件被篡改的情况比较象,他们内部包含的页面资源被改成对应导航页(不论是否该导航站主动而为,你不推广,何来胆大妄为)。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/761.html