草鞋
单位局域网中有一台客户机安装使用的仍然是Windows系统,可能由于用户手头没有正版的安全工具可以利用,该系统一直没有安装防火墙和杀毒软件。在上网冲浪的过程中,XP系统意外感染了网络病毒,造成了IE浏览器无法正常工作,具体现象为:每次用鼠标双击系统桌面中的浏览器图标,开启IE浏览器的运行状态时,浏览窗口打开后就会自动关闭,用户根本不能正常浏览网页内容。不过,让用户感觉到十分蹊跷的是,在系统资源管理器窗口地址栏中,输入上网地址却能正常显示网页内容,为什么IE浏览器窗口会自动关闭呢?
考虑到系统资源管理器能正常打开网页内容,而该管理器窗口仍然使用的是IE浏览器的内核,这就说明IE浏览器内核没有受到损坏,很可能是网络病毒或恶意程序非法修改了IE浏览器的某些设置。仔细观察IE浏览器打开并自动关闭这一过程,发现窗口好像显示过内容,为了弄明白这些内容是否与自动关闭故障有关,笔者尝试再次开启IE浏览器的运行状态,并在浏览窗口显示出内容,同时还没有被自动关闭的一刹那,使用键盘上的“Print Screen”功能键,对浏览窗口内容执行抓屏操作,再将抓屏内容拷贝到画图程序中。认真查看图片内容时,笔者看到浏览窗口标题栏中出现了“http://www.0749.com”网站地址的身影,很显然,IE浏览器窗口的首页地址遭遇到了劫持现象,IE浏览器窗口自动关闭的问题多半与网站劫持有关。
排查步骤
1. 恢复首页地址
既然IE浏览器的首页地址已经被强制设置为“http://www.0749.com”,采用手工方法,恢复浏览窗口的首页地址,说不定就能解决IE浏览器自动关闭的故障现象。说干就干,笔者立即用鼠标右键单击系统桌面上的IE浏览器图标,从弹出的快捷菜单中点击“属性”命令,打开Internet属性对话框,选择“常规”选项卡,进入如图1所示的选项设置页面,在“主页”位置处,点击“使用空白页”按钮,确认后结束首页地址恢复操作。不过,当笔者再次打开IE浏览器窗口时,看到该窗口还是一闪而过,这说明首页地址被调整,不是IE浏览器窗口自动关闭的原因。重新进入Internet属性对话框时,笔者看到“主页”位置处的内容又变成了“http://www.0749.com”,显然这种办法不能解决问题。
2. 寻找可疑程序
笔者担心本地客户端系统可能遭遇到可疑自启动恶意程序的攻击,该攻击造成了IE浏览器窗口自动关闭现象。为了判断自己的分析是否正确,笔者依次点击系统桌面上的“开始”|“运行”选项,弹出系统运行对话框,输入字符串命令“msconfig”并回车,展开系统配置实用程序对话框。选择“启动”标签,进入如图2所示的标签设置页面,仔细检查这里的启动项目列表,笔者没有发现任何可疑份子。
后来,笔者不放心,又在系统运行对话框中执行“regedit”命令,打开系统注册表编辑界面,仔细检查了“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon”、“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce”、“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runonce”、“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”、“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” 等分支下的启动项目,也没有找到可疑的自启动程序,这就表明本地计算机中没有可疑自启动程序在攻击IE浏览器。
3. 检查冲突因素
大家知道,如果Windows系统中同时存在多个不同类型的上网浏览器时,它们相互之间很容易会发生冲突现象,这也容易导致IE浏览器在开启运行的时候,出现自动关闭的问题。想到这一点,笔者仔细检查了本地计算机中的所有程序,发现系统中除了安装有IE浏览器程序外,还存在360浏览器程序,难道它们之间真的存在冲突现象?尝试着卸载360浏览器程序后,又重新启动了一下计算机系统,之后再打开IE浏览器程序窗口时,发现自动关闭的现象依然没有消失,看来这种方法也不奏效。
4. 排除设置障碍
联想到IE浏览器窗口在刚打开的一刹那,访问过“http://www.0749.com”站点,会不会是该站点的脚本内容造成了IE浏览器窗口被自动关闭呢,或者是IE浏览器不支持某些脚本程序呢?为了排除这种可能,笔者决定临时停用IE浏览器的脚本调试功能。用鼠标右键单击系统桌面上的IE浏览器图标,从弹出的快捷菜单中点击“属性”命令,打开Internet属性对话框,选择“高级”选项卡,进入如图3所示的选项设置页面,在“设置”列表中找到“禁用脚本调试(Internet Explorer)”选项,取消该选项的选中状态,确认后继续进行上网测试操作,不过IE浏览器窗口还是在转眼之间就被关闭了。
之后,笔者顺便检查了IE浏览器的其他设置参数,看到在“安全”选项设置页面中,该浏览器处于较高的安全级别,为了防止高安全级别影响网页的正常显示,笔者特地在该选项设置页面中,用鼠标拖动安全滑块降低IE浏览器的默认安全级别,可是测试后发现该设置依然没有取得任何效果。后来,笔者又意外看到IE浏览器程序的版本比较低,决定将其升级到最新版本,以提高该程序的兼容能力,遗憾的是,版本升级操作也不能解决任何问题。
既然对IE浏览器的各种可能设置调整过后,都没能达到预期的效果,笔者决定利用该程序自带的“重置”功能,索性将其各种设置恢复到默认状态。在重置IE浏览器的各项设置参数时,首先进入到Internet高级属性对话框,在“重置Internet Explorer设置”位置处,按下“重置”按钮,再重新启动IE浏览器窗口时,还是不能解决问题,这说明上述故障现象与IE浏览器自身设置没有任何关系。
5. 修复系统文件
倘若Windows系统的某些核心文件意外受到损坏的话,那么IE浏览器的工作状态也有可能不正常。要是Windows系统只有少数几个系统文件受损时,那可以考虑使用Windows系统自带的SFC扫描修复命令,来尝试对那些与IE浏览器相互关联同时已经受到损坏的系统文件进行修复,一旦修复成功后,说不定IE浏览器的启动又会恢复正常状态了。在修复受损系统文件时,笔者依次单击系统桌面上的“开始”|“运行”选项,在弹出的系统运行文本框中,输入“sfc /scannow”字符串命令(如图4所示),单击“确定”按钮后,Windows系统就会自动开始搜索扫描系统的每个角落位置,如果探测到系统文件的版本不正确或者系统文件已经受到损坏时,它将会自动弹出提示对话框,要求用户插入Windows系统安装光盘,来提取正常的系统文件,来实现修复系统受损文件目的。系统文件修复很顺利,不过在重新启动Windows系统后,IE浏览器仍然工作不正常。
在修复好系统文件后,笔者又怀疑某些DLL文件被意外删除,引起了IE浏览器窗口模块不能正常工作。为此,笔者将Windows系统安装盘放入物理光驱,打开系统运行对话框,在其中执行“rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\ie.inf”命令,对IE浏览器程序进行重新安装操作,之后又依次执行“regsvr32 actxprxy.dll”、“regsvr32 shdocvw.dll ”等字符串命令,尝试对IE浏览器的主要DLL文件执行重新注册操作,不过这些努力还是没有换来任何回报。没有办法,笔者又按照同样的操作,将与IE浏览器程序有关的其他DLL文件依次注册了一遍,例如,对shell32.dll、browseui.dll、oleaut32.dll、urlmon.dll、mshtml.dll等动态链接库文件,都进行了重新注册操作,不过还是一点效果都没有。
6. 清除网络病毒
既然上面的各项排查都没有能够解决问题,笔者只好将问题的责任推卸给网络病毒了。大家知道,很多十分奇怪的故障现象,往往多是由于网络病毒或恶意程序造成的,现在笔者唯一能做的事情,就是更新杀毒软件到最新版本,并利用它扫描查杀整个计算机硬盘。
首先在局域网中找一台能够正常访问网页的客户机,在该计算机中下载获得360杀毒软件和360安全卫士这两款安全工具,将其他发布成共享状态,通过共享访问操作将它们拷贝到故障客户机硬盘中。之后,按照默认设置,将它们分别安装到WinXP系统中,并分别对它们执行升级操作,确保它们处于最新版本状态。接下来,开启360杀毒软件的运行状态,开始对故障客户机进行全面的病毒查杀操作,经常漫长的病毒查杀等待后,杀毒工具并没有找到任何网络病毒和恶意软件的“身影”。
下面,笔者又启动运行了360安全卫士,点击主程序界面中的“立即体验”按钮(如图5所示),对Windows XP系统的安全状况进行彻底地体检。没有多长时间,360安全卫士返回了体检结果,“电脑体验得分:42”,这说明故障客户机的安全状态不容乐观。切换到360安全卫士程序的“系统修复”选项设置页面中,笔者看到一个IE浏览器可能被修改的提示项目,很明显,360安全卫士程序终于找到了潜藏的病毒程序,很可能是该病毒在暗中捣乱,影响IE浏览器的启动运行。根据提示,笔者点击了对应选项设置页面中的“立即修复”按钮,开始对潜藏病毒的破坏执行修复操作,修复操作结束后,将故障客户机重新启动了一下。
7. 修复相关键值
由于病毒对系统注册表的一些修改破坏操作,无法利用360安全卫士程序自动修复成功,不得已,笔者决定采用手工方法,尝试将系统相关键值恢复正常。
首先依次点击系统桌面上的“开始”|“运行”选项,弹出系统运行对话框,输入字符串命令“regedit”并回车,切换到系统注册表编辑界面。逐一选择“编辑”|“查找”命令,弹出注册表键值查找对话框,在“查找目标”文本框中,输入关键字“www.0749.com”,如图6所示,点击“查找下一个”按钮,很快Windows XP系统就将与关键字匹配的相关键值和子项搜索并显示出来了。选中与“www.0749.com”关键字有关的键值选项,并用鼠标右键单击之,执行快捷菜单中的“删除”命令,将其从系统注册表中删除掉。
当然,为了保证系统安全,在对注册表键值执行删除操作时,建议大家先对有关注册表分支或对整个注册表执行备份操作,日后遇到意外的时候,能够随时方便恢复。继续进行键值查找操作,直到注册表查找任务结束,最后关闭注册表编辑界面,再将计算机系统重新启动一下。
解决故障
经过上述处理操作之后,笔者又一次小心地开启了IE浏览器窗口。让人感到十分欣慰的是,这次浏览器窗口没有象以往那样自动关闭,在浏览窗口地址栏中输入网站地址时,也能正常显示网页内容了。原以为故障现象已经被成功解决了,可是没有多长时间,又发生了新的故障,IE页面被强行跳转到其他站点。
再次使用360安全卫士程序扫描检测Windows XP系统,发现系统中链接到网站地址的快捷方式“:@shdoclc.dll,-880”不正常,进一步查看后,看到HKEY_CLASSES_ROOT\CLSID\{0CE009D8-FCF8-E081-231A-75A15E78F64A}\TypeLib[Default]:({B351EBAF-7DD8-4AE9-A7FF-3628D157D82E})注册表分支存在问题。重新打开系统注册表编辑窗口,将鼠标定位到上述注册表分支上,将目标分支下的内容全部删除,再重新启动计算机系统。之后,打开系统资源管理器窗口,依次展开“C:\Program Files\Internet Explorer”文件夹窗口,选中并删除其中的dat类型文件,再次将计算机系统重新启动一下。这时,打开IE浏览器窗口进行上网测试时,发现它的工作状态终于彻底正常了。