Microsoft IIS 5.0 .printer ISAPI远程缓冲区溢出

微软Win 2K IIS 5的打印ISAPI扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。
当远程用户提交对.printer的URL请求时,IIS 5调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的URL请求,其“Host:”域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,允许攻击者执行任意代码。
溢出发生后,WEB服务停止响应,Win 2K可以检查到WEB服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。
解决方法
微软已经为此发布了一个安全公告(MS01-023)以及相应补丁:
http://www.microsoft.com/technet/security/bulletin/MS01-023.asp
临时解决方法: 
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 删除.printer扩展,具体方法如下:
1. 打开Internet服务管理器;
2. 右击你的web服务器,在菜单中选择“属性”栏;
3. 选择“主属性”;
4. 选择 WWW 服务 | 编辑 | 主目录 | 配置;
5. 在扩展名列表中删除“.printer”项;
6. 保存设置,然后重启IIS服务。
注意:如果在上述设置完成后,发现“.printer”映射又重新产生,这可能是由于您在组策略中打开了“基于web的打印”。您可以按照下列步骤进行处理:
1. 在“运行...”或者命令行窗口中执行下列命令:gpedit.msc;
2. 这会弹出一个组策略的管理窗口,选择“打印机”;
3. 检查“基于web的打印”,如果它已经“启动”,将其禁止。
您也可以直接修改注册表,将下面这项DWORD值设为0x1:
HKLMSoftwarePoliciesMicrosoftWindows NTPrintersDisableWebPrinting 
Windows 2000 Service Pack 2及其后续累计升级包已经修正该问题
其他:
---------
IIS 5.0 微软官方已经不再提供支持,建议将系统迁移到最新版的IIS,或使用其他中间件代替老版本的IIS。

猜你喜欢

转载自www.cnblogs.com/mrhonest/p/10892260.html