安全公告
Microsoft 安全公告 MS02-018 - 关键
Internet Information Services 累积修补程序(Q319733)
发布时间: 2002 年 4 月 10 日 |更新时间:2003 年 2 月 28 日
版本: 1.4
最初发布: 2002 年 4 月 10 日
更新时间: 2003 年 2 月 28 日
总结
谁应阅读此公告: 使用 Microsoft® Windows NT® 4.0、Windows® 2000 或 Windows XP 托管 Web 服务器的客户。
漏洞的影响: 十个新漏洞,其中最严重的漏洞可能导致攻击者选择的代码在服务器上运行。
建议: 使用任何受影响的产品的客户应立即安装修补程序。
最大严重性分级: 严重
受影响的软件:
- Microsoft Internet Information Server 4.0
- Microsoft Internet Information Services 5.0
- Microsoft Internet Information Services 5.1
注意:内部版本 3605 后的 .NET Server Beta 版本包含影响 IIS 6.0 的所有漏洞的修补程序。 如常见问题解答中所述,Microsoft 直接与在生产环境中使用 .NET Server beta 版本的客户合作,为他们提供即时修正。
常规信息
技术详细信息
技术说明:
此修补程序是累积修补程序,包括自 Windows NT 4.0 Service Pack 6a 以来为 IIS 4.0 发布的所有安全修补程序的功能,以及 IIS 5.0 和 5.1 迄今发布的所有安全修补程序的功能。 下面提供了此修补程序所取代的修补程序的完整列表,该部分标题为“有关此修补程序的其他信息”。 应用修补程序之前,系统管理员应注意同一部分中讨论的注意事项。
除了包括以前发布的安全修补程序外,此修补程序还包括以下新发现的影响 IIS 4.0、5.0 和/或 5.1 的安全漏洞的修补程序:
- 缓冲区溢出漏洞,涉及通过 IIS 4.0 和 5.0 中的 Active Server Pages 执行分块编码传输机制的操作。 利用此漏洞的攻击者可能会溢出系统上的堆内存,导致 IIS 服务失败或允许代码在服务器上运行。
- Microsoft 发现的漏洞与前面的漏洞相关,但位于 ASP 数据传输机制中的其他位置。 它可能以与前面的漏洞类似的方式被利用,并且具有相同的范围。 但是,它会影响 IIS 4.0、5.0 和 5.1。
- 缓冲区溢出涉及 IIS 4.0、5.0 和 5.1 在某些情况下如何处理 HTTP 标头信息。 IIS 在分析 HTTP 标头中的字段之前执行安全检查,以确保预期分隔符字段存在且位于合理的位置。 但是,可以欺骗检查,并说服 IIS,即使这些分隔符不存在也是如此。 此缺陷可能使攻击者能够创建一个 URL,其 HTTP 标头字段值将超过用于处理它们的缓冲区。
- 在 IIS 4.0、5.0 和 5.1 中发现的缓冲区溢出漏洞,导致服务器端包括期间执行的安全检查错误。 在某些情况下,将文件包含在 ASP 脚本中并处理网页,从而正确处理网页的用户请求。 在处理包含请求之前,IIS 对用户指定的文件名执行操作,旨在确保文件名有效且大小适当,以适应静态缓冲区。 但是,在某些情况下,可以采用传递安全检查的方式提供虚假的极长文件名,从而导致缓冲区溢出。
- 影响 IIS 4.0 和 5.0 中的 HTR ISAPI 扩展的缓冲区溢出。 通过发送一系列格式不正确的 HTR 请求,可能会导致 IIS 服务失败,或者在非常困难的操作方案中导致代码在服务器上运行。
- 拒绝服务漏洞,涉及 IIS 4.0、5.0 和 5.1 处理 ISAPI 筛选器中的错误条件的方式。 至少有一个 ISAPI 筛选器(作为 FrontPage 服务器扩展和 ASP.NET 的一部分提供),也可能是其他筛选器,在收到包含超过筛选器设置的最大长度的 URL 的请求时生成错误。 在处理此错误时,筛选器将 URL 替换为 null 值。 由于 IIS 在将错误消息发送回请求者的过程中尝试处理 URL,导致访问冲突导致 IIS 服务失败。
- 拒绝服务漏洞,涉及 IIS 4.0、5.0 和 5.1 中的 FTP 服务处理当前 FTP 会话状态的请求的方式。 如果攻击者能够与受影响的服务器建立 FTP 会话,并提出创建特定错误条件的状态请求,FTP 代码中的缺陷将阻止其正确报告错误。 然后,FTP 服务中的其他代码将尝试使用未初始化的数据,结果会导致访问冲突。 这不仅会导致 FTP 服务中断,还会导致 Web 服务中断。
- 影响 IIS 4.0、5.0 和 5.1 的 三个跨站点脚本 (CSS)漏洞:一个涉及搜索 IIS 帮助文件时返回的结果页,一个涉及 HTTP 错误页;一个涉及返回的错误消息,建议重定向请求的 URL。 所有这些漏洞具有相同的范围和效果:能够诱使用户单击其网站上的链接的攻击者可以将包含脚本的请求中继到运行 IIS 的第三方网站,从而导致第三方网站的响应(仍包括脚本)发送给用户。 然后,该脚本将使用第三方站点的安全设置而不是攻击者的安全设置进行呈现。
缓解因素:
分块编码传输中的缓冲区溢出:
- 在 IIS 5.0 和 5.1 的默认安装中,利用漏洞运行代码会向攻击者授予IWAM_计算机名称 帐户的权限,该帐户仅具有与以交互方式登录的非特权用户相称的特权。
- 该漏洞要求在系统上启用 Active Server Pages(ASP)才能被利用。 默认情况下,IIS 锁定工具的版本 1.0 会删除 ASP,如果已选择静态 Web 服务器,则默认删除当前版本(版本 2.1)。
- 可以将 URLScan 工具配置为阻止分块编码请求。 如果已执行此操作,则无法利用漏洞。
Microsoft 发现的分块编码缓冲区变体溢出:
- 此漏洞受制于区块编码传输中缓冲区溢出的完全相同的缓解因素,但有一个例外。 URLScan 工具无法用于防范漏洞。
HTTP 标头处理中的缓冲区溢出:
- 在 IIS 5.0 和 5.1 的默认安装中,利用漏洞运行代码会向攻击者授予IWAM_计算机名称 帐户的权限,该帐户仅具有与以交互方式登录的非特权用户相称的特权。
- 该漏洞要求在系统上启用 Active Server Pages(ASP)才能被利用。 默认情况下,IIS 锁定工具的版本 1.0 会删除 ASP,如果已选择静态 Web 服务器,则默认删除当前版本(版本 2.1)。
- URLScan 工具的默认规则集可能会限制攻击者仅使用此漏洞来拒绝服务攻击。
ASP 服务器端 Include 函数中的缓冲区溢出:
- 在 IIS 5.0 和 5.1 的默认安装中,利用漏洞运行代码会向攻击者授予IWAM_计算机名称 帐户的权限,该帐户仅具有与以交互方式登录的用户相称的权限。
- 该漏洞要求在系统上启用 Active Server Pages(ASP)才能被利用。 默认情况下,IIS 锁定工具的版本 1.0 会删除 ASP,如果已选择静态 Web 服务器,则默认删除当前版本(版本 2.1)。
- URLScan 工具的默认规则集可能会限制攻击者仅使用此漏洞来拒绝服务攻击。
HTR ISAPI 扩展中的缓冲区溢出:
- Microsoft 长期以来建议禁用 HTR ISAPI 扩展。 完成此操作的系统不会面临漏洞的风险。 (所有版本的 默认情况下,IIS 锁定工具 禁用 HTR 支持。
- URLScan 工具(如果使用其默认规则集)将阻止利用此漏洞在服务器上运行代码,即使启用了 HTR 支持。
- 仅当攻击者知道内存中某些信息的位置时,该漏洞才可用于在服务器上运行代码。 实际上,如果 Web 服务器自重新启动以来从未提供过任何 Web 内容,则可能发生这种情况。 在所有其他情况下,只能使用漏洞来拒绝服务攻击。
- 在 IIS 5.0 和 5.1 的默认安装中,利用漏洞运行代码会向攻击者授予IWAM_计算机名称 帐户的权限,该帐户仅具有与以交互方式登录的用户相称的权限。
- 如果在拒绝服务攻击中使用了漏洞,可以通过重启 IIS 服务在 IIS 4.0 服务器上还原正常操作;在 IIS 5.0 及更高版本上,服务会自动重启自身。
URL 错误处理中的访问冲突:
- 通过重启服务,IIS 4.0 服务器可以重新投入正常操作。 IIS 5.0 或 5.1 服务器会自动重启服务。
- 该漏洞只能用于拒绝服务攻击。 无法使用漏洞获取系统上的权限。
- 已知的唯一 ISAPI 筛选器生成错误,仅作为 FrontPage 服务器扩展和 ASP.NET 的一部分,会导致访问冲突。 默认情况下未安装 ASP.NET,如果需要,可以卸载 FP标准版。
通过 FTP 状态请求拒绝服务:
- 默认情况下, IIS 锁定工具 禁用 FTP 支持。
- 通过重启服务,IIS 4.0 服务器可以重新投入正常操作。 IIS 5.0 或 5.1 服务器会自动重启服务。
- 该漏洞只能用于拒绝服务攻击。 无法使用漏洞获取系统上的权限。
IIS 帮助文件搜索设施中的跨站点脚本、HTTP 错误页和重定向响应消息:
- 仅当攻击者可能诱使其他用户访问网页并单击其上的链接或打开 HTML 邮件时,才能利用漏洞。
- 仅当用户运行 Internet Explorer 以外的浏览器时,才能利用重定向响应漏洞。 IE 实际上不会在重定向响应中呈现文本,而是通过其响应标头识别文本,并处理重定向而不显示任何文本。
严重性分级:
ASP 分块编码数据传输机制中的缓冲区溢出:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 严重 | 严重 | 无 |
IIS 5.0 | 严重 | 严重 | 无 |
IIS 5.1 | 无 | None | 无 |
Microsoft 发现的 ASP 区块编码缓冲区溢出变体:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 严重 | 严重 | 无 |
IIS 5.0 | 严重 | 严重 | 无 |
IIS 5.1 | 严重 | 严重 | 无 |
HTTP 标头处理中的缓冲区溢出:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 严重 | 严重 | 无 |
IIS 5.0 | 严重 | 严重 | 无 |
IIS 5.1 | 严重 | 严重 | 无 |
ASP 服务器端 Include 函数中的缓冲区溢出:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 严重 | 严重 | 无 |
IIS 5.0 | 严重 | 严重 | 无 |
IIS 5.1 | 严重 | 严重 | 无 |
HTR ISAPI 扩展中的缓冲区溢出:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 适中 | 适中 | 无 |
IIS 5.0 | 适中 | 适中 | 无 |
IIS 5.1 | 无 | None | 无 |
URL 错误处理中的访问冲突:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 适中 | 适中 | 无 |
IIS 5.0 | 适中 | 适中 | 无 |
IIS 5.1 | 适中 | 适中 | 无 |
通过 FTP 状态请求拒绝服务:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 适中 | 适中 | 无 |
IIS 5.0 | 适中 | 适中 | 无 |
IIS 5.1 | 适中 | 适中 | 无 |
IIS 帮助文件搜索设施中的跨站点脚本:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 无 | 无 | 中等 |
IIS 5.0 | 无 | 无 | 中等 |
IIS 5.1 | 无 | 无 | 中等 |
HTTP 错误页中的跨站点脚本:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 无 | 无 | 中等 |
IIS 5.0 | 无 | 无 | 中等 |
IIS 5.1 | 无 | 无 | 中等 |
重定向响应消息中的跨站点脚本:
Internet 服务器 | Intranet 服务器 | 客户端系统 | |
---|---|---|---|
IIS 4.0 | 无 | 无 | 低 |
IIS 5.0 | 无 | 无 | 低 |
IIS 5.1 | 无 | 无 | 低 |
上述 评估 基于受漏洞影响的系统类型、其典型部署模式以及利用漏洞对它们的影响。
漏洞标识符:
- 分块编码机制中的缓冲区溢出: CAN-2002-0079
- Microsoft 发现的分块编码缓冲区溢出变体: CAN-2002-0147
- HTTP 标头处理中的缓冲区溢出: CAN-2002-0150
- ASP 服务器端 Include 函数中的缓冲区溢出: CAN-2002-0149
- HTR ISAPI 扩展中的缓冲区溢出: CAN-2002-0071
- URL 错误处理中的访问冲突: CAN-2002-0072
- 通过 FTP 状态请求拒绝服务: CAN-2002-0073
- IIS 帮助文件搜索设施中的跨站点脚本: CAN-2002-0074
- HTTP 错误页中的跨站点脚本: CAN-2002-0148
- 重定向响应消息中的跨站点脚本: CAN-2002-0075
测试的版本:
下表指示哪些当前支持的 IIS 版本受漏洞影响。 不再支持 IIS 4.0 之前的版本,这些漏洞可能会或不受这些漏洞的影响。 IIS 6.0 是 beta 产品,因此不适用于生产系统。 少数客户正在产品环境中部署 IIS 6.0 服务器作为与 Microsoft 联合计划的一部分,修补程序将直接交付给他们。
IIS 4.0 | IIS 5.0 | IIS 5.1 | |
---|---|---|---|
分块编码机制中的缓冲区溢出 | 是 | 是 | 否 |
Microsoft 发现的分块编码缓冲区溢出变体 | 是 | 是 | 是 |
HTTP 标头处理中的缓冲区溢出 | 是 | 是 | 是 |
ASP 服务器端 Include 函数中的缓冲区溢出 | 是 | 是 | 是 |
HTR ISAPI 扩展中的缓冲区溢出 | 是 | 是 | 否 |
URL 错误处理中的访问冲突 | 是 | 是 | 是 |
通过 FTP 状态请求拒绝服务 | 是 | 是 | 是 |
IIS 帮助文件中的跨站点脚本搜索 | 否 | 是 | 是 |
HTTP 错误页中的跨站点脚本 | 是 | 是 | 是 |
重定向响应消息中的跨站点脚本 | 是 | 是 | 是 |
常见问题解答
此修补程序消除了哪些漏洞?
这是一个累积修补程序,应用后,可消除影响 Internet Information Server (IIS) 4.0 的大多数安全漏洞(警告部分下面列出了异常)以及影响 Internet Information Service 5.0 和 5.1 的所有漏洞。 除了消除以前讨论的漏洞之外,它还消除了几个新的漏洞:
- 使攻击者能够控制运行 IIS 4.0 或 5.0 的 Web 服务器的漏洞。
- Microsoft 发现的漏洞的风险和效果与前面的漏洞相同,但会影响 IIS 4.0、5.0 和 5.1。
- 使攻击者能够控制运行 IIS 4.0 或 5.0 的 Web 服务器的漏洞。
- Microsoft 发现的漏洞,使攻击者能够控制运行 IIS 4.0、5.0 或 5.1 的 Web 服务器。
- 在异常情况下,攻击者可以通过漏洞控制运行 IIS 4.0 或 5.0 的 Web 服务器。
- 使攻击者能够阻止 IIS 4.0、5.0 或 5.1 Web 服务器提供服务的漏洞。
- 使攻击者能够阻止 IIS 4.0、5.0 或 5.1 服务器上的 FTP 服务器提供服务的漏洞。
- 攻击者可以通过 IIS 4.0、5.0 或 5.1 Web 服务器将 Web 内容“弹跳”到其他用户的浏览器会话的三个漏洞。
IIS 4.0、5.0 和 5.1 附带哪些产品?
- Internet Information Server 4.0 作为 Windows NT 4.0 选项包(NTOP)的一部分提供
- Internet Information Service 5.0 作为 Windows 2000 Datacenter Server、Advanced Server、Server 和 Professional 的一部分提供。
- Internet Information Service 5.1 作为 Windows XP Professional 的一部分提供。 它不会作为 Windows XP 家庭版的一部分提供。
IIS 4.0、5.0 和 5.1 是否默认运行?
- 在 Windows NT 4.0 服务器上安装 NTOP 时,IIS 4.0 默认运行。 在 Windows NT 4.0 工作站上安装 NTOP 时,它不会默认运行,除非安装对等 Web 服务时已在运行。
- 默认情况下,IIS 5.0 在所有 Windows 2000 服务器产品上运行。 默认情况下,它不会在 Windows 2000 Professional 上运行。
- 默认情况下,IIS 5.1 不会在 Windows XP 上运行。
修补程序是否包含任何其他修补程序?
是的。 除了消除上面讨论的安全漏洞之外,该修补程序还包括少量的修补程序,用于解决不是安全漏洞的问题。 这些文档记录在 Microsoft 知识库文章Q319733
某些漏洞适用于某些版本的 IIS,但不适用于其他版本。 如何实现知道我是否需要版本修补程序?
如果正在运行任何受影响的产品,则应安装修补程序。 该修补程序将仅对影响 IIS 版本的漏洞应用修补程序。
除了在修补程序上保持最新状态之外,我是否应该采取任何其他步骤来维护 Web 服务器的安全性?
若要保护 Web 服务器安全,需要执行的最重要步骤是使用 IIS 锁定工具。 该工具将确保服务器安全配置,并将安装 URLScan 工具,以在服务器运行时提供持续保护。
此外,影响 IIS 4.0 的漏洞数量很少,无法通过软件修补程序消除。 相反,它们需要管理操作。 警告部分下面列出了所有这些漏洞。
这些修补程序是否可以安装在运行个人 Web 服务器或对等 Web 服务的系统上?
在某些情况下,他们可以。 如果运行的是个人 Web 服务器或对等 Web 服务,请参阅 Microsoft 知识库文章 Q307439 以获取特定信息。
为何未在这些漏洞的上下文中讨论 IIS 6.0?
我们通常不会在安全公告中讨论 beta 产品。 根据定义,beta 产品不完整;它们旨在用于评估目的,不应在生产系统中使用。 少数客户与 Microsoft 一起从事 IIS 6.0 的生产部署,我们直接向他们提供修补程序。
分块编码传输中的缓冲区溢出(CVE-CAN-2002-0079)
此漏洞的范围是什么?
这是 影响 IIS 4.0 和 5.0 的缓冲区溢出 漏洞。 通过向受影响的 Web 服务器发送特别选择的请求,攻击者可能会中断 Web 服务,或获得在服务器上运行程序的能力。 此类程序将在 IIS 4.0 中以完整的系统权限运行,但在 IIS 5.0 中,使用 IIS 锁定工具将服务器配置为静态 Web 服务器的客户中具有较少的重要特权,这些客户已受到漏洞的保护。 同样, 可以将 URLScan工具配置为阻止漏洞,并且可以禁用受影响的机制本身。 但是,由于漏洞的严重性,我们建议所有客户安装修补程序,包括已经执行这些步骤的客户。
导致漏洞的原因是什么?
由于 ISAPI 扩展中实现 Active Server Pages (ASP) 功能的算术错误,导致漏洞。 具体而言,错误在于一个函数,该函数允许数据通过分块编码上传到 Web 服务器,并导致 IIS 分配大小错误的缓冲区来保存传入数据,结果数据可能会溢出缓冲区的末尾。
什么是 ISAPI 扩展?
ISAPI (Internet Services 应用程序编程接口)是一种技术,它使 Web 开发人员能够通过编写为 Web 服务器提供新服务的自定义代码来扩展其 Web 服务器的功能。 此类代码可以采用以下两种形式之一实现:
- 作为 ISAPI 筛选器,-一个动态链接库(.dll),它使用 ISAPI 响应服务器上发生的事件。
- 作为 ISAPI 扩展 -- 一个动态链接库,它使用 ISAPI 提供一组以上和超越 IIS 本机提供的 Web 函数。
对于此漏洞,受影响的代码是一个 ISAPI 扩展,它通过 Active Server Pages 实现脚本。
什么是 Active Server Pages?
Active Server Pages (ASP) 是一种允许 Web 服务器动态生成 Web 应用程序的技术。 可视化 Active Server Pages 的一种方法是将它们视为驻留在 Web 服务器上的程序;当用户请求 ASP 页面时,ASP ISAPI 扩展将处理 ASP 页面,生成 HTML 页,并将其发送给用户。 在这种情况下,漏洞并不涉及 ASP 技术本身,而是涉及在 ASP 中实现称为分块编码的标准数据传输操作类型的错误。
什么是分块编码?
Web 服务器通常需要能够接受来自用户的数据。 例如,当网站访问者填写表单并提交表单时,需要将数据上传到服务器,以便处理这些数据。 在这种情况下,将传输的数据量提前已知,服务器可以分配大小正确的缓冲区。 但是,在其他情况下,无法事先知道需要传输多少数据。 例如,应用程序可能会在运行时生成数据,并且可能无法确切地知道它生成的数据量。
HTTP 协议规范提供了一种通过称为分块编码的进程来处理此类数据的方法。 在分块编码中,客户端会生成一个名为区块的数据大小可变数量;然后,它告诉 Web 服务器区块有多大,并发送它。 服务器分配一个缓冲区来容纳传入区块,然后接收并处理它。 当客户端生成其他数据时,它会继续将其聚合成区块并将其传送到服务器。
IIS 4.0 和 5.0 执行分块编码传输的方式有什么问题?
IIS 4.0 和 5.0 Active Server Pages 实现中有一个算术错误,导致它们错误地计算传入区块所需的缓冲区大小,并分配太小的缓冲区大小。 结果是区块中的数据可以重叠缓冲区的末尾并覆盖系统内存中的其他数据,从而可能允许修改 IIS 的操作。
可以覆盖多少数据?
根据设计,客户端可以指定任何大小的区块 - 如果服务器不能容纳大区块,则应向客户端发送错误消息。 但是,除了导致分配大小错误的缓冲区外,算术错误还阻止 IIS 4.0 和 5.0 对区块大小施加任何实际限制。 因此,客户端可能会发送一个区块来覆盖系统上的大部分或全部内存,这是一个关键点,因为它会成为为什么此漏洞对服务器构成如此严重威胁的核心。 此漏洞是所谓的堆溢出的示例;由于系统内存的动态性质,它们经常难以或无法利用。 服务器上的数据可以从一刻到下一刻更改位置,从而妨碍攻击者覆盖所选程序或数据的能力。 但是,在这种情况下,攻击者不需要知道程序的位置,而是可以不分青红皂白地覆盖大部分系统内存。
这会使攻击者能够执行哪些操作?
利用此漏洞的攻击者可以将它用于以下两个目的之一。
- 服务中断。 通过用随机数据溢出缓冲区,攻击者可能会损坏程序代码并导致 IIS 服务失败,从而阻止服务器提供有用的服务。
- 更改服务器的操作。 通过用精心选择的数据溢出缓冲区,攻击可能会用新的程序代码覆盖服务器上的程序代码,实际上修改了服务器软件的功能。
谁可以利用漏洞?
能够与受影响的服务器建立 Web 会话的任何用户都可以利用漏洞。
如果漏洞被利用导致 IIS 服务失败,则还原正常操作需要什么?
在 IIS 4.0 上,管理员需要重启 IIS 服务。 在 IIS 5.0 上,服务会自动重启自身。
为什么漏洞只能用于导致 IIS 服务失败? 如果攻击者能够不分青红皂白地覆盖系统内存,为什么不覆盖服务器上的所有内存并导致整个操作系统失败?
Windows NT 4.0、Windows 2000 和 Windows XP 以 受保护模式运行。 在受保护的模式下,进程只能写入它们拥有的内存部分。 因此,攻击者不可能覆盖属于操作系统的内存。
如果漏洞被利用来更改服务器软件的操作,攻击者将能够做什么?
简言之,攻击者的代码将获得调用它的软件(ASP ISAPI 扩展ASP.DLL)的权限。 攻击者可能获取的权限取决于服务器上使用的 IIS 版本:
- 在 IIS 4.0 上,ASP.DLL默认在进程内运行 - 即作为 IIS 服务的一部分运行,该服务作为操作系统本身的一部分运行。 因此,利用默认 IIS 4.0 安装上的漏洞会使攻击者完全控制服务器。
- 在 IIS 5.0 上,默认情况下,ASP.DLL在进程外运行 ,即在称为 Web 应用程序管理器的特殊用户帐户的安全上下文中。 (Web 管理员可能更了解此帐户,因为IWAM_计算机名,其中 计算机名 是服务器的名称)。 此帐户的特权明显少于 IIS 服务。
Web 应用程序管理器有哪些特权?
从本质上讲,该帐户具有与能够以交互方式登录服务器的未特权用户的权限相同。 它不允许攻击者执行管理操作、重新配置服务器或访问安全帐户管理器数据库等重要文件。
然而,重要的是不要低估甚至使用这些特权造成的损害。 即使是这些特权也可以用来造成重大损害。 更糟的是,漏洞可能会给攻击者一个海滩头,从中进行额外的攻击,并尝试获得额外的特权。
我正在运行 IIS 4.0。 是否可以将ASP.DLL配置为进程外?
是的。 Microsoft 长期以来建议尽可能将 IIS 4.0 配置为在进程外运行ASP.DLL和其他组件。 这不仅提高了安全性,而且提高了稳定性。 但是,存在与进程不足相关的性能损失。
我不使用 Active Server Pages。 禁用该功能会完全保护我的服务器吗?
是的。 事实上,默认情况下,IIS 锁定工具的版本 1.0 禁用了 ASP。 工具的当前版本 2.1 提供了许多不同的服务器角色。 默认情况下,选择“静态 Web 服务器”将禁用 ASP。
我在服务器上部署了 URLScan 工具。 它会保护我的系统免受此漏洞的侵害吗?
默认情况下,它不会。 但是,可以添加一个规则来阻止分块编码请求。 只需向读取“Transfer-Encoding:”的URLScan.ini的 [DenyHeaders] 部分添加一个条目。 (注意:不应在条目中包含引号,但在单词“Encoding”末尾有一个冒号)Microsoft 已发布默认实现此规则的 URLScan 的更新版本,并改进该工具可以提供的保护。 更新后的工具可在 https:下载。
修补程序如何消除此漏洞?
该修补程序消除了导致漏洞的算术错误。
Microsoft 发现的分块编码缓冲区溢出变体 (CVE-CAN-2002-0147)
此漏洞的范围是什么?
此漏洞与前面的漏洞在范围、效果和修正中相同。 只有两个显著差异:
- 此漏洞会影响其他版本的 IIS。 具体而言,它会影响 IIS 4.0、5.0 和 5.1。
- URLScan 无法阻止它。
导致此漏洞的原因是什么?
此漏洞导致数据传输的缓冲区分配中出现处理错误。 尽管它涉及与前面的功能类似的功能,并且具有相同的整体效果,但两个漏洞之间存在一些重要的差异。
此漏洞与前面的漏洞有何区别?
有两个主要区别。 首先,如果 IIS 5.1 不受上述 IIS 5.1 的影响,则它受此影响。 其次,与前面的漏洞不同,无法通过 URLScan 阻止此漏洞。
此漏洞是如何发现的?
Microsoft 通过代码检查发现了此漏洞,这是对上述漏洞的调查的一部分。
ASP 服务器端 Include 函数中的缓冲区溢出(CVE-CAN-2002-0149)
此漏洞的范围是什么?
这是影响 IIS 4.0、5.0 和 5.1 的缓冲区溢出 漏洞。 通过向受影响的 Web 服务器发送特别选择的请求,攻击者可能会中断 Web 服务,或获得在服务器上运行程序的能力。 此类程序将在 IIS 4.0 中以完整的系统权限运行,但 IIS 5.0 和 5.1 客户中的特权更少,但 IIS 5.0 和 5.1 客户已使用 IIS 锁定工具 将其服务器配置为静态 Web 服务器已受到漏洞的保护。 同样, 使用默认规则集进行部署的 URLScan工具也使得很难使用漏洞来控制服务器,并可能将其减少为仅拒绝服务攻击。
导致漏洞的原因是什么?
由于处理服务器端文件的函数中出现逻辑错误,该漏洞导致 Active Server Pages 包含。 错误的结果是,当文件名实际上超过缓冲区时,函数可以得出结论,将指定服务器端文件的名称安全地存储在特定缓冲区中
服务器端文件包括哪些内容?
通常,开发人员需要能够将文件合并到程序中,例如,作为重用现有代码的一种方式。 文件包括提供执行此操作的方法。 开发人员指定应在程序中包括哪些文件,并在什么时候处理文件的内容,就像它们是程序的一部分一样。
ASP 与大多数编程语言一样,支持文件包括。 对于 ASP,包含的文件来自 Web 服务器本身,因此它们称为服务器端文件包括。 当 ASP 脚本运行时,预处理步骤将处理包含的任何文件,之后 ASP ISAPI 筛选器将处理结果。
网站访问者是否可以请求服务器端包含?
否。 毕竟,网站访问者不应该真正参与 ASP 脚本的操作 - 所有处理都应在服务器上发生。 但是,用户操作可能会产生导致服务器上包含文件的效果。 此漏洞涉及完成此操作时 IIS 的操作,并采用特定方式。
IIS 如何处理服务器端包括有什么问题?
在某些情况下,请求特定网页将导致它包含在 ASP 脚本中作为其处理的一部分。 由于这涉及到将用户输入放入缓冲区,因此 IIS 始终事先执行检查,旨在确保输入有效。 具体而言,它对文件名执行操作,仅当文件名有效时,才应成功。
安全漏洞导致,因为可以征收包含非常长、无效文件名的请求,但这样做的方式有两种影响。 首先,ASP ISAPI 扩展得出结论,文件名需要作为 ASP 文件的一部分进行处理,并执行服务器端包含。 其次,文件名回避安全检查。 结果是文件名(比分配的缓冲区长)导致处理 ASP 文件中的缓冲区溢出。
漏洞会使攻击者能够执行哪些操作?
利用此漏洞的攻击者可以将它用于以下两个目的之一:
- 服务中断。 通过用随机数据溢出缓冲区,攻击者可能会损坏程序代码并导致 IIS 服务失败,从而阻止服务器提供有用的服务。
- 更改服务器的操作。 通过用精心选择的数据溢出缓冲区,攻击可能会用新的程序代码覆盖服务器上的程序代码,实际上修改了服务器软件的功能。
谁可以利用漏洞?
与受影响的 Web 服务器建立会话的任何用户都可以利用漏洞。
如果漏洞被利用导致 IIS 服务器失败,则还原正常操作需要什么?
在 IIS 4.0 上,管理员需要重启 IIS 服务。 在 IIS 5.0 和 5.1 上,服务会自动重启自身。
如果漏洞被利用来更改服务器软件的操作,攻击者将能够做什么?
如果以这种方式被利用,攻击者可能会获得与上面所述的相同权限:
- 在 IIS 4.0 上,攻击者可以完全控制服务器
- 在 IIS 5.0 和 5.1 上,攻击者可能会获得与 Web 应用程序管理器关联的特权,实质上是非特权用户的权限。
IIS 锁定工具是否有助于保护我的服务器?
只有在服务器上启用了 Active Server Pages 时,才能利用该漏洞。 默认情况下,IIS 锁定工具的版本 1.0 会禁用 ASP。 工具的当前版本 2.1 提供了许多不同的服务器角色。 默认情况下,选择“静态 Web 服务器”会禁用 ASP。
URLScan 工具是否会保护我的系统免受此漏洞的侵害?
它不提供完全保护,但会显著减少漏洞的范围。 默认情况下,URLScan 会阻止包含非 ASCII 数据的所有 URL。 这不会阻止攻击者导致服务发生故障 - 使用几乎任何数据溢出缓冲区将实现该目标。 但是,由于攻击者只需要使用 ASCII 数据构造有效的可执行代码,因此很难利用漏洞来更改服务器软件的操作。
此漏洞是如何发现的?
Microsoft 在安全审查过程中发现了此漏洞。
修补程序如何消除漏洞?
修补程序更正了截断错误,从而确保此处讨论的 URL 不会传递给函数。
HTTP 标头处理中的缓冲区溢出(CVE-CAN-2002-0150)
此漏洞的范围是什么?
这是影响 IIS 4.0、5.0 和 5.1 的缓冲区溢出 漏洞。 通过向受影响的 Web 服务器发送特别选择的请求,攻击者可能会中断 Web 服务,或获得在服务器上运行程序的能力。 此类程序将在 IIS 4.0 中以完整的系统权限运行,但 IIS 5.0 和 5.1 中的特权较少,但具有显著特权。
使用 IIS 锁定工具 将其服务器配置为静态 Web 服务器的客户已受到漏洞的保护。 同样, 使用默认规则集部署的 URLScan工具会阻止此漏洞控制服务器,并仅将其减少为拒绝服务攻击。
导致漏洞的原因是什么?
漏洞是由于 Active Server Pages 分析 HTTP 标头信息时发生的错误而产生的。 执行初始检查,目的是确保在缓冲区中移动信息进行处理之前,所需的分隔符存在于信息和合理位置。 但是,可以欺骗检查,因此缓冲区溢出。
什么是 HTTP 标头?
当客户端向 Web 服务器发送请求时,需要一种方法来为 Web 服务器提供有关请求的特定信息。 例如,它需要指示请求中的数据的格式、客户端使用的 Web 浏览器、服务器应执行的操作等。 所有这些信息都是通过请求中称为 HTTP 标头的字段指定的。
IIS 处理 HTTP 标头的方式有什么问题?
当 IIS 收到 HTTP 请求时,它必须分析标头,以便可以解释标头并采取适当的操作。 这是通过将标头分解为其构成部分并将每个标头放入缓冲区来完成的;IIS 通过查找分隔符来确定每个部分的结束位置。
IIS 在执行此操作之前检查,以确保分隔字符确实存在,并且位于请求中的适当位置。 但是,通过以特定方式构造请求,可以欺骗此检查,并使 IIS 得出结论,在实际上不存在分隔字符时存在。
为什么这会导致安全漏洞?
检查的目的是确保 IIS 永远不会将更多信息复制到缓冲区中,而不是它旨在保存的信息。 但是,通过欺骗检查,可以绕过此保护,从而导致缓冲区溢出。
具体而言,假设攻击者发送了包含 HTTP 标头字段中大量数据的请求。 通常,IIS 会检测到数据不包含预期的分隔符,因此字段太大,无法安全地容纳在缓冲区中。 因此,它会拒绝请求。 但是,如果构造请求以利用此漏洞,IIS 会错误地得出结论,请求格式正确,并将字段复制到缓冲区中,从而溢出该请求。
漏洞会使攻击者能够执行哪些操作?
利用此漏洞的攻击者可以将它用于以下两个目的之一。
- 服务中断。 通过用随机数据溢出缓冲区,攻击者可能会损坏程序代码并导致 IIS 服务失败,从而阻止服务器提供有用的服务。
- 更改服务器的操作。 通过用精心选择的数据溢出缓冲区,攻击可能会用新的程序代码覆盖服务器上的程序代码,实际上修改了服务器软件的功能。
谁可以利用漏洞?
与受影响的 Web 服务器建立会话的任何用户都可以利用漏洞。
如果漏洞被利用导致 IIS 服务器失败,则还原正常操作需要什么?
在 IIS 4.0 上,管理员需要重启 IIS 服务。 在 IIS 5.0 和 5.1 上,服务会自动重启自身。
如果漏洞被利用来更改服务器软件的操作,攻击者将能够做什么?
如果以这种方式被利用,攻击者可能会获得与上面所述的相同权限:
- 在 IIS 4.0 上,攻击者可以完全控制服务器
- 在 IIS 5.0 和 5.1 上,攻击者可能会获得与 Web 应用程序管理器关联的特权,实质上是非特权用户的权限。
IIS 锁定工具是否有助于保护我的服务器?
只有在服务器上启用了 Active Server Pages 时,才能利用该漏洞。 默认情况下,IIS 锁定工具的版本 1.0 会禁用 ASP。 工具的当前版本 2.1 提供了许多不同的服务器角色。 默认情况下,选择“静态 Web 服务器”会禁用 ASP。
URLScan 工具是否会保护我的系统免受此漏洞的侵害?
它不提供完全保护,但会显著减少漏洞的范围。 默认情况下,URLScan 会阻止包含非 ASCII 数据的所有 URL。 这不会阻止攻击者导致服务发生故障 - 使用几乎任何数据溢出缓冲区将实现该目标。 但是,由于攻击者只需要使用 ASCII 数据构造有效的可执行代码,因此很难利用漏洞来更改服务器软件的操作。
修补程序如何消除漏洞?
修补程序更正检查机制,并确保在所有情况下都正确执行。
HTR ISAPI 扩展中的缓冲区溢出(CVE-CAN-2002-0071)
此漏洞的范围是什么?
这是 影响 IIS 4.0 和 5.0 的缓冲区溢出 漏洞。 通过向受影响的 Web 服务器发送特别选择的请求,攻击者可能导致它暂时停止提供 Web 服务,或者(在非常不寻常的情况下)可以控制服务器。
有许多因素倾向于降低此漏洞的严重性:
- 利用此漏洞最可能的影响是中断 Web 服务器上的服务。 虽然可以使用漏洞来控制服务器,但在大多数情况下,攻击者需要偶然的情况。
- 默认情况下,IIS 锁定工具会删除包含该漏洞的组件。
- URLScan工具的默认配置将阻止漏洞被利用。
导致漏洞的原因是什么?
漏洞结果是因为实现 HTR 脚本的 ISAPI 扩展在计算用于存储输入值的缓冲区大小时包含逐个错误。 如果对 HTR 脚本的请求以特定方式格式不正确,则可能滥用错误计算并执行缓冲区溢出攻击。 在最不严重的情况下,这可能会导致 IIS 服务失败;在最严重的情况下(很难利用),它可以允许在服务器上运行代码。
什么。HTR?
HTR 是作为 IIS 2.0 的一部分交付的第一代高级脚本技术。 HTR 从未被广泛采用,主要是因为一项非常优越的技术, Active Server Pages ()。ASP)是在 IIS 4.0 中引入的,在客户在 HTR 中投入了大量开发资源之前就很受欢迎。 但是,通过版本 5.1 的所有 IIS 版本都支持 HTR,以实现向后兼容性。
Microsoft 长期以来一直主张客户在其 Web 服务器上禁用 HTR,除非对技术有业务关键需求。 默认情况下, IIS 锁定工具 通过取消映射 HTR ISAPI 扩展来禁用 HTR 支持。
HTR 是否有广泛的用途?
目前仍使用 HTR 技术的唯一用途是基于 Web 的密码管理服务。 IIS 附带了一组 HTR 脚本,如果部署了这些脚本,则用户可以通过 Web 服务器更改其 Windows NT 密码,并使管理员能够通过 Web 执行密码管理。
在 Eneral 中,Microsoft 建议禁止通过 Web 执行密码管理。 但是,对于必须执行此操作的客户,我们建议将任何所需的 HTR 脚本转换为 ASP。
HTR ISAPI 扩展有什么问题?
当 HTR ISAPI 扩展收到运行脚本的请求时,它将计算包含请求所需的缓冲区的大小。 但是,它错误地计算了此值,结果它创建一个比所需的小一个字节的缓冲区。 通过发送一系列 HTR 请求,所有请求都以特定方式格式不正确,因此可以使用漏洞覆盖服务器上的内存。
这会使攻击者能够执行哪些操作?
攻击者可以通过以下两种方式之一利用此漏洞。 通过发送一系列请求,这些请求只是用随机数据覆盖缓冲区,攻击者可能会导致服务失败。 但是,通过仔细选择数据,可以修改 IIS 服务的操作以执行攻击者选择的任务,尽管操作困难。
如果攻击者使用此漏洞导致服务失败,结果会是什么?
如果针对 IIS 4.0 服务器使用攻击,则攻击将阻止服务器处理 Web 请求,直到管理员重新启动 IIS 服务。 如果针对 IIS 5.0 或 5.1 服务器利用服务,则中断只是暂时的,因为 IIS 服务会自动重启自身。 在任一情况下,在服务失败时正在进行的任何 Web 会话都将终止。
如果攻击者使用此漏洞来修改服务的操作,结果是什么?
如果以这种方式被利用,攻击者可能会获得与上面所述的相同权限:
- 在 IIS 4.0 上,攻击者可以完全控制服务器
- 在 IIS 5.0 上,攻击者可能会获得与 Web 应用程序管理器关联的特权-实质上是非特权用户的权限。
利用漏洞来控制服务器是多么困难?
与上面讨论的漏洞一样,这是一个堆溢出。 然而,这一项将更加难以利用。 例如,从技术角度来看,编写利用一字节堆溢出的漏洞工具会更加困难。
即使存在攻击工具,该漏洞也只能在某些条件下被利用。 实际上,仅当服务器自上次启动后未为任何 Web 请求提供服务时,这些条件中的大多数情况才会存在,即使攻击者需要有关服务器上运行的软件的特定信息。 然而,请注意,鉴于正确的情况,这些因素都不可能克服。
我已运行 IIS 锁定工具。 我是否容易受到此问题的侵害?
默认情况下, IIS 锁定工具 禁用对 HTR 的支持。 无法针对禁用 HTR 支持的服务器利用该漏洞。
我运行了 URLScan。 我是否容易受到此问题的侵害?
URLScan 的默认规则集将阻止此漏洞被利用,即使服务器受到其他攻击也是如此。 但是,我们建议在启用 HTR 的任何服务器上应用修补程序,即使 URLScan 正在保护它。
我运行的系统容易受到漏洞的影响。 应采取何种操作?
最佳操作方法是通过取消映射 HTR ISAPI 扩展来完全删除 HTR 支持。 (最简单的方法是通过 IIS 锁定工具)。 建议仅在业务关键需要时才保留 HTR 支持。
即使在删除 HTR 之后,我们仍建议应用修补程序。 首先,除此漏洞外,它还修复了漏洞。 其次,应用修补程序将确保即使以后意外重新启用 HTR 支持,服务器仍会受到保护。
修补程序如何消除漏洞?
修补程序更正了 HTR ISAPI 扩展中的错误计算,并确保它分配与传入请求大小匹配的缓冲区。
URL 错误处理中的访问冲突(CVE-CAN-2002-0072)
此漏洞的范围是什么?
这是影响 IIS 4.0、5.0 和 5.1 的服务 漏洞的拒绝。 通过利用此漏洞,攻击者可能会暂时阻止 Web 服务器提供 Web 服务。
该漏洞不允许系统上的任何数据遭到入侵,也不允许攻击者获取系统上的任何特权。 Microsoft 迄今的调查表明,此漏洞仅在系统上安装 Front Page 服务器扩展(FP标准版)或 ASP.NET 的情况下发生,尽管也可能在其他情况下发生。
导致漏洞的原因是什么?
之所以发生此漏洞,是因为 IIS 错误地处理了由 Front Page Server Extensions 安装的 ISAPI 筛选器之一并 ASP.NET 收到超过最大允许长度的 URL 时产生的错误条件。 尽管问题在于 IIS 中,因此也可能发生在涉及其他 ISAPI 筛选器的情况下,Microsoft 迄今的调查并未透露发生这种情况的任何其他情况。
什么是 ISAPI 筛选器?
如上所述,ISAPI 筛选器是一个安装.dll,用于扩展通过 Web 服务器提供的功能。 在这种情况下,问题中的特定筛选器是由 FP 安装标准版和 ASP.NET 安装的,尽管其他筛选器也可能涉及其他筛选器。
什么是 FP标准版?
FrontPage 服务器扩展(FP标准版)是一组工具,可安装在 Web 服务器上,以允许授权人员管理服务器、添加或更改内容以及执行其他任务。
什么是 ASP.NET?
ASP.NET 是一个开发平台,使 Web 应用程序能够轻松快速地生成。 ASP.NET 可以视为 ASP 的超集 -- 现有 ASP 程序可以直接移植到 ASP.NET,但它还提供新的扩展功能。
FP标准版和 ASP.NET 有什么问题?
无变化。 在这种情况下,问题涉及 IIS 如何处理 ISAPI 筛选器可以生成的特定类型的错误条件。 唯一的 ISAPI 筛选器 Microsoft 迄今已确定,实际生成错误条件与 FP 相关联标准版和 ASP.NET。 但是,问题不在于 ISAPI 筛选器,而是 IIS 处理错误条件的方式。
错误条件是什么,为什么它会导致 IIS 服务失败? 当任一 ISAPI 筛选器收到包含超过最大长度的 URL 的请求时,会出现此错误。 发生这种情况时,筛选器将失败请求,并将 URL 设置为 null 值。 漏洞导致 IIS 在将响应发送回请求者之前尝试使用 URL。 这会导致访问冲突导致 IIS 服务失败。
这会使攻击者能够执行哪些操作?
利用此漏洞的攻击者可能导致 IIS 服务失败。 这会终止当时正在处理的任何会话,并阻止任何新会话,直到服务重新启动为止。
攻击者如何利用漏洞?
攻击者可以通过向受影响的服务器发送请求来利用漏洞,该请求将由上述任一 ISAPI 筛选器提及处理,并包括超过筛选器最大长度的 URL。 (同样,如果系统上安装了其他可以生成相同错误条件的 ISAPI 筛选器,攻击者可能会向其之一发送请求)。
恢复正常操作需要什么?
在 IIS 4.0 上,操作员需要重启服务。 在 IIS 5.0 和 5.1 上,服务会自动重启自身。
攻击者能否通过此漏洞获得服务器上的任何其他特权?
否。 这绝对是拒绝服务漏洞;无法更改服务器上的内容、管理内容或采取任何其他操作。
我尚未在服务器上安装 FP标准版。 是否受漏洞影响?
默认情况下,某些服务器扩展安装为 IIS 4.0、5.0 和 5.1 的一部分,其他扩展必须单独安装。 此处有问题的 ISAPI 筛选器默认安装,因此除非管理员删除了 FP标准版,否则服务器将受到影响。 (FP标准版可以通过控制面板中的“添加/删除程序”小程序小程序删除)。 即使已删除 FP标准版,请记住,服务器可能安装其他 ISAPI 筛选器,从而生成导致 IIS 失败的错误条件。
我尚未在服务器上安装 ASP.NET。 是否受漏洞影响?
默认情况下,ASP.NET 不会作为 IIS 的一部分进行安装。 但是,即使系统上未安装 ASP.NET,FP标准版也会如前一段所述。
修补程序如何消除此漏洞?
修补程序会导致 IIS 在处理此处的错误时检查 URL,并且不会尝试处理它。
通过 FTP 状态请求拒绝服务(CVE-CAN-2002-0073)
此漏洞的范围是什么?
这是影响 IIS 4.0、5.0 和 5.1 的服务 漏洞的拒绝。 通过利用此漏洞,攻击者可能会暂时阻止 Web 服务器提供 Web 服务。
仅当 Web 服务器配置为提供 FTP 服务时,才能利用该漏洞。 IIS 4.0 默认安装 FTP 服务,但 IIS 5.0 和 5.1 不会安装。 默认情况下, IIS 锁定工具 禁用 FTP 支持。 该漏洞不允许系统上的任何数据遭到入侵,也不允许攻击者获取系统上的任何特权。
导致漏洞的原因是什么?
由于 IIS 4.0、5.0 和 5.1 中的 FTP 实现无法正确处理连接状态的请求,如果请求格式不正确,则会导致漏洞。 接收此类请求将导致 IIS 服务失败。
什么是 FTP?
文件传输协议(FTP)是在 RFC 959 中指定的行业标准协议,允许用户将文件发布到服务器或从服务器检索文件。 所有版本的 IIS 都包含协议的实现。
IIS 4.0、5.0 和 5.1 中的 FTP 实现有什么问题?
它们包含错误,以处理正在进行的 FTP 连接状态的请求的方式。 具体而言,在请求中包含某些字符会创建错误条件,但事实未正确报告回中继用户请求的软件模块。 结果是调用模块使用未初始化的数据,从而导致访问冲突。
这会使攻击者能够执行哪些操作?
FTP 服务本身由 IIS 服务提供,因此利用此漏洞的攻击者不仅可以破坏 FTP 服务,还能中断 Web 服务。 这会终止在攻击时生效的任何会话的效果。
谁可以利用此漏洞?
能够与受影响的服务器建立 FTP 会话的任何用户都可以利用漏洞。 包含缺陷的状态请求只能作为现有会话的一部分进行征收。
恢复正常操作需要什么?
在 IIS 4.0 服务器上,操作员需要重启 IIS 服务。 在 IIS 5.0 和 5.1 服务器上,服务会自动重启自身。
攻击者能够与服务器建立会话的需求有何意义?
这意味着攻击者不能简单地执行“逐一”攻击并将数据发送到服务器。 FTP 服务需要启用并运行,攻击者需要登录凭据,或者需要将服务器配置为允许匿名登录。
FTP 是否默认安装和运行?
默认情况下,它作为 IIS 4.0 的一部分启用并运行,但不作为 IIS 5.0 或 5.1 的一部分运行。 值得注意的是, IIS 锁定工具 默认禁用 FTP。
如果 FTP 正在运行,则默认情况下是否启用匿名登录?
是的。 最好考虑是否确实要允许匿名访问 FTP 服务器,如果情况并非如此,请禁用它。
修补程序如何消除漏洞?
修补程序会导致 FTP 服务在此处正确处理命令。
IIS 帮助文件搜索设施中的跨站点脚本、重定向响应消息和 HTTP 错误页(CVE-CAN-2002-0074、0075、0148)
这些漏洞的范围是什么?
这些都是跨站点脚本漏洞。 所有这些漏洞的范围和效果都是相同的 -- 通过这些漏洞,攻击者可能会向受影响的服务器发送请求,该服务器将导致将包含脚本的网页发送到其他用户。 脚本将在用户的浏览器中执行,就像它来自第三方站点一样。 这将允许它使用适用于第三部分网站的安全设置来运行,并允许攻击者访问属于该网站的任何数据。
仅当用户打开 HTML 邮件或访问恶意用户的网站时,才能利用该漏洞 - 无法将代码“注入”到现有会话中。 在这两种情况下之一,即使攻击者确实利用了漏洞,它也不会影响运行 IE 的用户。 导致漏洞的原因是什么? IIS 提供的某些 Web 服务在使用之前未正确验证所有输入,因此容易受到跨站点脚本(CSS)的侵害。
什么是跨站点脚本?
CSS 是一个安全漏洞,可能使恶意用户能够将代码“注入”到用户与网站的会话中。 与大多数安全漏洞不同,CSS 不适用于任何供应商的产品,而是会影响在 Web 服务器上运行的任何软件,并且不遵循防御性编程做法。 2000 年初,Microsoft 和 CERT 合作向软件行业通报了该问题,并领导了整个行业的响应。
CSS 的工作原理是什么?
良好的说明以执行摘要和常见问题解答的形式提供。 但是,在高级别的详细信息中,下面是 CSS 的工作原理。 假设网站 A 提供了一项搜索功能,允许用户键入要搜索的字词或短语。 如果用户键入“香蕉”作为搜索短语,网站将搜索该短语,然后生成一个网页,说“我很抱歉,但我找不到”香蕉“一词。 它会将网页发送到他的浏览器,然后分析页面并显示它。
现在假设,用户输入了类似于“香蕉 ”SCRIPT“、” “Alert('Hello')、”、“”、“/SCRIPT”之类的内容,而不是输入“香蕉”作为搜索短语。 如果搜索功能被写成盲目地使用它提供的任何搜索短语,它将搜索整个字符串,并创建一个网页,说“我很抱歉,但我找不到单词”香蕉 ·SCRIPT“,” “Alert('Hello');”,“/SCRIPT?”。 但是,以“?”SCRIPT“开头且以”“/SCRIPT”结尾的所有文本实际上是程序代码,因此处理页面时,用户的浏览器将显示一个对话框,并说“Hello”。
到目前为止,此示例只演示了用户如何从 Web 服务器“中继”代码并使它在其自己的计算机上运行。 这不是安全漏洞。 但是,恶意网站操作员可以调用此漏洞,以便在访问其网站的用户的计算机上运行。 如果网站 B 是由恶意用户操作的,该用户能够吸引用户访问它并单击超链接,则网站 B 可以转到网站 A,使用恶意脚本填写搜索页面,并代表用户提交它。 生成的页面将返回到用户(因为用户单击超链接后,最终是请求者),并在用户的计算机上处理。
脚本可以在用户计算机上执行哪些操作?
网站 B(攻击者的网站)的脚本将在用户的计算机上运行,就好像它来自网站 A 一样。实际上,这意味着两件事:
- 它将使用适用于网站 A 的用户计算机上的安全设置运行。
- 网站 B 中的脚本将能够访问属于网站 A 的用户系统上的 Cookie 和任何其他数据。
用户使用的浏览器是否重要?
否。 此处的要点是,问题在于 Web 服务器上的软件,而不是浏览器。 只要 Web 服务器上的软件盲目使用它提供的任何输入,就可能出现此漏洞。 相反,它应筛选掉任何不适合的输入。 在上面的示例中,搜索引擎应去除可用于将脚本注入搜索过程的任何字符,例如“”。 知识库文章 Q252985提供了应筛选的字符的完整说明。
IIS 有什么问题?
IIS 提供的三个服务无法正确筛选其输入,因此可以在跨站点脚本攻击中使用。 这些服务包括:
- 允许搜索 IIS 帮助文件的搜索工具。 该设施仅在 IIS 5.0 和 5.1 中提供,因此只有这些版本受漏洞影响。
- 有人请求移动到新位置的网页时返回的消息。 (此类消息称为重定向响应)。 IIS 4.0、5.0 和 5.1 生成的此消息的版本受漏洞影响。 但是,仅当攻击目标运行 Internet Explorer 以外的浏览器时,才能通过此消息执行成功的攻击。
- 当用户请求网页时返回的多个错误消息会导致错误。 IIS 4.0 和 5.0 中生成的这些消息的默认版本受漏洞影响。
这些漏洞会使攻击者能够执行哪些操作?
漏洞将允许操作网站的攻击者,并且能够诱使另一个用户单击其上的链接,通过运行 IIS 的另一个网站执行跨站点脚本攻击。 如上所述,这将使攻击者能够使用另一个网站(正在运行的 IIS)的安全设置在用户的浏览器中运行脚本,并访问其所属的 Cookie 和其他数据。
你上面说,如果用户使用的是 IE 以外的浏览器,则只能利用其中一个漏洞。 为什么会这样?
对于移动网页时返回的错误消息,IE 实际上不会在错误消息中显示文本。 相反,它会处理服务器响应中的其他位置的信息,并立即将用户转到新页面。 因此,它不容易受到跨站点脚本错误的影响。 其他浏览器可能或可能不起作用,具体取决于它们如何实现重定向响应的处理。
此漏洞是否为攻击者提供任何伤害我的网站的方法?
否。 攻击者无法对您的网站采取任何操作,但能够将您的网站用作无意中的同伙,以攻击可能访问您的网站的人员。
你说攻击的要点是攻击者使用网站的安全设置在用户的浏览器中运行脚本。 攻击者会通过执行此操作获得哪些特定功能?
根据攻击者站点和你所在的安全区域,它因站点到站点而异。
- 如果它们都位于同一区域(默认情况下,所有网站都驻留在 Internet 区域中,除非用户移动它们),则它们都将受到完全相同的安全限制,攻击者不会通过漏洞获取任何内容。
- 如果用户已将攻击者的站点置于比你的区域更受限的区域,则攻击者将获得脚本在用户计算机上执行任何操作的能力,该用户可从站点执行该脚本。
- 如果用户已将站点置于比你更受限的区域,攻击者实际上会通过攻击失去功能。
但是,请务必注意,无论安全设置如何,攻击者的脚本始终能够访问属于第三方站点的用户系统上的任何其他数据。 这是因为,就浏览器而言,攻击者是第三方站点。
修补程序如何消除漏洞?
该修补程序通过确保上述两个服务在使用前正确筛选输入来消除漏洞。
修补程序可用性
下载此修补程序的位置
Microsoft IIS 4.0:
Windows NT 4.0 工作站、Windows NT 4.0 服务器或 Windows NT 4.0 服务器,企业版:
Windows NT 4.0 服务器,终端服务器版本:
Microsoft IIS 5.0:
Microsoft IIS 5.1:
有关此修补程序的其他信息
安装平台:
- IIS 4.0 修补程序可以安装在运行 Windows NT 4.0 Service Pack 6a 的系统上。
- Windows NT Server 4.0 终端服务器版安全汇总包可以安装在 Windows NT 4.0 终端 Service Edition Service Pack 6 上。
- IIS 5.0 修补程序可以安装在运行 Windows 2000 Service Pack 1 或 Service Pack 2 的系统上。
- IIS 5.1 修补程序可以安装在运行 Windows XP Professional Gold 的系统上。
包含在将来的 Service Pack 中:
- 没有针对 Windows NT 4.0 计划其他 Service Pack。
- IIS 5.0 修补程序将包含在 Windows 2000 Service Pack 3 中。
- IIS 5.1 修补程序将包含在 Windows XP Service Pack 1 中。
需要重新启动:
- IIS 4.0:可以通过停止 IIS 服务、使用 /z 开关安装修补程序,然后重启服务来避免重新启动。 知识库文章Q319733提供有关此过程的其他信息。
- IIS 5.0:否。
- IIS 5.1:否。 (在某些情况下,弹出对话可能表示系统需要重新启动才能完成修补程序安装过程。此对话(如果出现)可以忽略)
取代的修补程序:
- IIS 4.0 和 5.0:此修补程序取代了 Microsoft 安全公告 MS01-044 中提供的修补程序。 (这是 IIS 4.0 和 5.0 以前的累积修补程序,并取代了其他修补程序)
- IIS 5.1:无
- Windows NT Sever 4.0 终端服务器版安全汇总包取代了以下安全公告中提供的修补程序:
- Microsoft 安全公告 MS99-041。
- Microsoft 安全公告 MS99-046。
- Microsoft 安全公告 MS99-056。
- Microsoft 安全公告 MS99-060。
- Microsoft 安全公告 MS00-005。
- Microsoft 安全公告 MS00-006。
- Microsoft 安全公告 MS00-007。
- Microsoft 安全公告 MS00-021。
- Microsoft 安全公告 MS00-027。
- Microsoft 安全公告 MS00-029。
- Microsoft 安全公告 MS00-040。
- Microsoft 安全公告 MS00-047。
- Microsoft 安全公告 MS00-052。
- Microsoft 安全公告 MS00-083。
- Microsoft 安全公告 MS00-087。
- Microsoft 安全公告 MS00-091。
- Microsoft 安全公告 MS00-094。
- Microsoft 安全公告 MS00-100。
- Microsoft 安全公告 MS01-003。
- Microsoft 安全公告 MS01-008。
- Microsoft 安全公告 MS01-009。
- Microsoft 安全公告 MS01-017。
- Microsoft 安全公告 MS01-033。
- Microsoft 安全公告 MS01-040。
- Microsoft 安全公告 MS01-041。
- Microsoft 安全公告 MS01-052。
- Microsoft 安全公告 MS02-001。
验证修补程序安装:
IIS 4.0:
Windows NT 4.0 工作站、服务器和服务器,企业版:
若要验证是否已在计算机上安装修补程序,请确认计算机上已创建以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q319733。
若要验证各个文件,请参阅知识库文章Q319733中的文件清单。
Windows NT 4.0 终端服务器版本:
若要验证是否已在计算机上安装修补程序,请确认计算机上已创建以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q317636。
IIS 5.0:
若要验证是否已在计算机上安装修补程序,请确认计算机上已创建以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\汇报\Windows 2000\SP3\Q319733。
若要验证各个文件,请使用以下注册表项中提供的日期/时间和版本信息:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\汇报\Windows 2000\SP3\Q319733\Filelist。
IIS 5.1:
若要验证是否已在计算机上安装修补程序,请确认计算机上已创建以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\汇报\Windows XP\SP1\Q319733。
若要验证各个文件,请使用以下注册表项中提供的日期/时间和版本信息:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\汇报\Windows XP\SP1\Q319733\Filelist。
注意:
修补程序中不包括影响 IIS 4.0 服务器的四个漏洞,因为它们需要管理操作,而不是软件更改。 管理员管理员应确保除了应用此修补程序外,他们还采取了以下公告中讨论的管理操作:
修补程序不包括涉及非 IIS 产品的漏洞修复,例如 Front Page Server Extensions 和 Index Server,即使这些产品与 IIS 密切相关,并且通常安装在 IIS 服务器上。 在撰写本文时,讨论这些漏洞的公告包括:
- Microsoft 安全公告 MS01-043
- Microsoft 安全公告 MS01-025
- Microsoft 安全公告 MS00-084
- Microsoft 安全公告 MS00-018
- Microsoft 安全公告 MS00-006
但是,有一个例外。 此修补程序中包含 Microsoft 安全公告 MS01-033 中讨论的影响索引服务器的漏洞修复。 由于 IIS 服务器的问题严重性,我们包括在内了此问题。
使用 IIS 4.0 的客户应确保在安装此或任何安全修补程序之前遵循正确的安装顺序。 具体而言,客户应确保在安装 IIS 4.0 服务后已应用 Windows NT 4.0 Service Pack 6a(或重新应用)。
使用站点服务器的客户应注意,以前记录的涉及间歇性身份验证错误的问题已确定会影响此错误和其他少数修补程序。 Microsoft 知识库文章 Q317815讨论该问题及其解决方法。
本地化:
此修补程序的本地化版本在“修补程序可用性”中讨论的位置可用。
获取其他安全修补程序:
可从以下位置获取其他安全问题的修补程序:
- 安全修补程序可从 Microsoft 下载中心获取,可通过执行关键字 (keyword)搜索“security_patch”来轻松找到。
其他信息:
确认
Microsoft 感谢 以下人员向我们报告此问题,并与我们合作保护客户:
- eEye Digital Security (https://www.eeye.com) 用于报告 ASP 分块编码实现中的缓冲区溢出。
- 用于报告影响 HTTP 标头处理的缓冲区溢出的 Entrusthttps://www.entrust.com 的 Serge Mister。
- DAve Aitel of @Stake (https://www.atstake.com) 和毕马威的 Peter Grundl 报告 HTR ISAPI 扩展中的缓冲区溢出。
- Dave Aitel of @Stake (https://www.atstake.com) 用于报告 URL 错误处理中的访问冲突。
- Joe Smith (jsm1th@hotmail.com) 和 https:// www.cgisecurity.com zenomorph (admin@cgisecurity.com) for reporting the cross-site scripting vulnerability in the IIS Help File search facility.
- LAC SNS 团队 () 的 Keigo Yamazaki 报告https://www.lac.co.jp/security/影响重定向响应消息的跨站点脚本漏洞。
- Jubii A/S 的 Thor Larholm,用于报告影响 HTTP 错误页的跨站点脚本漏洞。
支持:
- Microsoft 知识库文章Q319733讨论此问题,此公告发布后大约 24 小时可用。 可以在 Microsoft Online 支持网站上找到知识库文章。
- Microsoft 产品支持服务提供技术支持。 与安全修补程序关联的支持调用不收取任何费用。
安全资源:Microsoft TechNet 安全网站提供有关 Microsoft 产品安全性的其他信息。
免责声明:
Microsoft 知识库中提供的信息“按原样”提供,不提供任何形式的担保。 Microsoft 不明确或暗示所有保证,包括适销性和针对特定用途的适用性和适用性的保证。 在任何情况下,Microsoft Corporation 或其供应商都应对任何损害负责,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使 Microsoft Corporation 或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。
修改:
- V1.0(2002 年 4 月 10 日):公告已创建。
- V1.1(2002 年 4 月 11 日):公告已更新,请注意,安装修补程序后无需重新启动 IIS 4.0 系统。
- V1.2(2002 年 4 月 12 日):警告已添加到文档站点服务器身份验证问题。
- V1.3(2002 年 5 月 6 日):公告更新为建议 Windows NT 4.0 服务器、终端服务器版本安全汇总包的可用性。
- V1.4(2003 年 2 月 28 日):更新了指向Windows 更新的下载链接。
构建于 2014-04-18T13:49:36Z-07:00</https:>