据微软官方通报表示,运行在Windows XP SP2及其以后版本微软操作系统上的IE 7均存在该漏洞,其中包括Windows XP Service Pack 2、Windows XP Service Pack 3、Windows Server 2003 Service Pack 1、Windows Server 2003 Service Pack 2、 Windows Vista、Windows Vista Service Pack 1和Windows Server 2008。而所有Windows系统上的IE 5.01 SP4、IE6 SP1、IE6和IE 8 Beta2也存在受该漏洞影响的可能。
微软表示,引起该漏洞的原因是IE浏览器数据绑定功能中的一个非法指针指向,微软指出,可以通过屏蔽OLEDB32.dll这个文件来暂时屏蔽该漏洞,可以通过以下四个方法来实现:
方法一:使用系统访问控制列表(SACL)禁用IE使用OLEDB32.dll
通过使用SACL条目来禁用IE浏览器访问OLEDB32.dll,保护IE浏览器免受攻击,同时保证其它依赖OLEDB32.dll的应用能正常运行。值得注意的是该系统仅支持Windows Vista以后版本,而且使用此方法时,IE浏览器需运行在保护模式启用情况下。
1、将以下内容保存到一个临时文件夹中:
·对于32-bit系统
保存以下文本内容到BlockAccess_x86.inf文件中:
[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"
·对于64-bit系统
保存以下文本内容到BlockAccess_x86.inf文件中:
[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"
保存以下文本内容到BlockAccess_x64.inf文件中:
[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"
2、在该临时文件夹中以Administrator权限打开命令行窗口。
3、在命令提示符中输入以下命令,然后按回车:
SecEdit/configure/db BlockAccess.sdb/cfg
其中为inf 文件路径。
4、如果上述命令成功执行,你将会看到“任务成功结束”的提示。 方法二:禁用OLEDB32.dll的“Row Position”功能值得注意的是,这个方法需要修改注册表,因此在修改之前务必做好注册表的备份,并严格按照指令修改。
打开注册表,删除以下注册表子键:
HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}
删除该子键后,所有使用RowPosition属性的ADO应用会受影响,所有使用OLE DB Row Position库的OLE DB应用也会受影响。MSHTML或不能正常使用。 方法三:取消OLEDB32.dll注册对于Windows 2000、Windows XP、Windows Server 2003、Windows Vista和Windows Server 2008等32-bit系统来说,运行如下命令:
Regsvr32.exe/u "Program Files\Common Files\System\Ole DB\oledb32.dll"
对于Windows XP Professional x64 Edition、Windows Server 2003 x64 Edition、Windows Vista x64 Edition、Windows Server 2008 for x64-based Systems和Windows Server 2008 for Itanium-based Systems来说,运行如9 7 3 1 2 4 8 :
本文来源:不详 作者:佚名