安全公告

Microsoft 安全咨询954462

SQL 注入攻击的上升利用未经验证的用户数据输入

发布时间: 2008 年 6 月 24 日 |更新时间:2008 年 6 月 25 日

Microsoft 知道最近针对使用 Microsoft ASP 和 ASP.NET 技术的网站的攻击类升级,但不遵循安全 Web 应用程序开发的最佳做法。 这些 SQL 注入攻击不会利用特定的软件漏洞,而是针对不遵循安全编码做法访问和操作关系数据库中存储的数据的网站。 SQL 注入攻击成功后,攻击者可能会破坏存储在这些数据库中的数据,并可能执行远程代码。 浏览到已泄露服务器的客户端可能不知情地转发到可能在客户端计算机上安装恶意软件的恶意站点。

缓解因素:

此漏洞在 Web 应用程序中不可利用,这些应用程序遵循一般接受的最佳做法,通过验证用户数据输入来保护 Web 应用程序开发。

常规信息

概述

咨询目的: 帮助管理员识别和更正易受攻击的 ASP 和 ASP.NET Web 应用程序代码,而该代码不遵循安全 Web 应用程序开发的最佳做法。

公告状态: Microsoft 安全咨询和相关工具已发布。

建议: 查看建议的操作并根据需要进行配置。 此外,建议服务器管理员评估讨论的工具的有效性,并根据需要利用它们。

此公告讨论了以下软件:

相关软件
Microsoft ASP 和 ASP.NET 技术

常见问题

公告的范围是什么?
此公告旨在帮助网站管理员识别其 Web 应用程序代码可能容易遭受 SQL 注入攻击的问题,并提供一个非索引解决方案,以在修复应用程序时缓解针对服务器的 SQL 注入攻击。

这是否是要求 Microsoft 发出安全更新的安全漏洞?
否。 遵循一般接受安全最佳做法的任何 Web 应用程序代码都明显不容易受到 SQL 注入攻击的影响。 虽然这不是安全漏洞,但发出此公告是为了向具有易受攻击站点的管理员提供额外的警告和帮助。

造成此威胁的原因是什么?
未能正确验证用户输入可能导致攻击者将 SQL 命令注入输入字段,然后可能会针对数据源执行,从而导致服务器上的数据库损坏或代码执行。

攻击者可能使用此函数执行哪些操作?
攻击者可能会创建一个自动攻击,该攻击可以利用不遵循 Web 应用程序开发安全最佳做法的网页中的 SQL 注入漏洞。 入侵站点后,攻击者可以在服务器上执行大量恶意操作,例如删除数据库并将浏览到此服务器的客户端重定向到可能在客户端计算机上安装恶意软件的恶意站点。

建议的操作

Microsoft 已确定多个工具来协助管理员。 这些工具涵盖检测、防御和识别攻击者可能利用的可能编码。

  • 检测 - HP Scrawlr
    Hewlett Packard 开发了一个免费的扫描程序,可以识别站点是否容易受到 SQL 注入的影响。 可以在 HP 安全中心通过 Scrawlr 查找 SQL 注入中找到此工具及其使用支持。

    详细说明:
    该工具将是一个黑盒分析工具(即不需要源代码)。 用户将输入起始 URL,该工具将:

    • 以递归方式对超链接的 URL 进行爬网,以构建网站树。
    • 通过发送包含查询字符串参数中的 SQL 注入攻击字符串的 HTTP 请求,测试所有发现的详细 SQL 注入链接。
    • 检查服务器的 HTTP 响应,了解指示 SQL 注入漏洞的 SQL 错误消息。
    • 报告发现用户易受攻击的任何页面,以及关联的输入字段(s)。 例如,该工具可能会报告“foo.asp”页上的字段“username”和“password”易受攻击。
  • 防御 - UrlScan 版本 3.0 Beta

    UrlScan 版本 3.0 Beta 是一种 Microsoft 安全工具,用于限制 Internet Information Services (IIS) 将处理的 HTTP 请求的类型。 通过阻止特定的 HTTP 请求,UrlScan 有助于防止潜在的有害请求访问服务器上的 Web 应用程序。 UrlScan 3.0 将在 IIS 5.1 及更高版本上安装,包括 IIS 7.0。 可在 URLScan 工具 3.0 Beta 中找到 UrlScan 3.0。

    详细说明:
    UrlScan 版本 3.0 是一种工具,可让你实现许多不同的规则,以便更好地保护服务器上的 Web 应用程序免受 SQL 注入攻击。 这些功能包括:

    • 能够实现独立应用于 URL、查询字符串、所有标头、特定标头或这些规则的任意组合的拒绝规则。
    • 一个全局 DenyQueryString 节,可用于为查询字符串添加拒绝规则,并可以选择检查查询字符串的未转义版本。
    • 能够在拒绝规则中使用转义序列来拒绝 CRLF 和其他配置中不可打印的字符序列。
    • 可以将多个 UrlScan 实例安装为站点筛选器,每个实例都有自己的配置和日志记录选项(urlscan.ini)。
    • 配置(urlscan.ini)更改通知将传播到辅助进程,而无需回收它们。 日志设置对此是一个例外。
    • 增强日志记录,可提供描述性配置错误。
  • 标识 - 用于 SQL 注入的 Microsoft 源代码分析器

    已开发 SQL 源代码分析工具。 此工具可用于检测容易受到 SQL 注入攻击的 ASP 代码。 可以在 Microsoft 知识库文章954476中找到此工具。

    详细说明:
    Microsoft 源代码分析器 FOR SQL 注入是一个独立的工具,客户可以在自己的 ASP 源代码上运行。 除了工具本身,还包含一些文档,介绍了如何解决它在分析的代码中发现的问题。 此工具的一些主要功能包括:

    • 扫描 ASP 源代码以获取可能导致 SQL 注入漏洞的代码。
    • 生成显示编码问题的输出。
    • 此工具仅标识经典 ASP 代码中的漏洞。 它不适用于 ASP.NET 代码。
  • 其他信息

    Microsoft 提供了其他资源,可帮助管理员识别和更正处理此漏洞的问题。

其他信息

美国和加拿大的客户认为他们可能受此漏洞影响,他们可从 1-866-PCSAFETY 获得 Microsoft 产品支持服务的技术支持。 不支持与安全更新问题或病毒相关的支持。 国际客户可以使用 Microsoft 帮助和支持中列出的任何方法接收支持。 所有客户都应应用 Microsoft 发布的最新安全更新,以帮助确保其系统不受尝试利用的保护。 启用了自动汇报的客户将自动接收所有 Windows 更新。 有关安全更新的详细信息,请访问 Microsoft 安全中心

资源:

免责声明

此公告中提供的信息“按原样”提供,没有任何担保。 Microsoft 不明确或暗示所有保证,包括适销性和针对特定用途的适用性和适用性的保证。 在任何情况下,Microsoft Corporation 或其供应商都应对任何损害负责,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使 Microsoft Corporation 或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。

修改:

  • 2008 年 6 月 24 日:已发布公告。
  • 2008 年 6 月 25 日:从 HP Scrawlr 工具说明中删除了对表单字段和 Cookie 值测试的错误引用。

生成于 2014-04-18T13:49:36Z-07:00