FIX: 嵌入式的 Null 字符可能绕过请求脚本验证

文章翻译 文章翻译
文章编号: 821349 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

本文内容

症状

某些 postions 在 URL 中的嵌入的空字符可能检测不到为标记,并可能会避开请求脚本验证功能。

原因

之所以会出现此问题,因为,在分析过程中脚本标记检测机制,ASPNET 寻找一个尖括号 ("<"),后面是字母或惊叹号 ("!")。当标记检测机制而发现空值字符时, 脚本不会看到在尖括号 ("<") 为标记。

若要重现此问题,请按照下列步骤操作:
  1. 创建一个简单的 Web 页并将其命名 echo.aspx
  2. 将下面的代码添加到 echo.aspx:
    <%
    	Response.Write(Request.QueryString("stringtext"))
    %>
  3. 通过使用嵌入的空字符后打开请求页。例如对于转到以下 URL:
    http://localhost/echo.aspx?stringtext= <%00script> alert('Hello') ;</script>
    该请求将呈现脚本或活动内容。预期的结果是请求验证错误或 inert 内容。

解决方案

如何获取该修补程序

此问题固定在 2003 年六月 ASP.NET 修补程序软件包 1.1。有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
821156信息: ASP.NET 1.1 2003 年六月修补程序汇总包
您不能单独获取此修复程序。您必须安装该汇总。

注意当您请求此修补程序时,您收到的总成型任务。 此修补程序的英文版具有文件属性 (或更高版本) 下表中列出。其格式为协调通用时间 (UTC) 列出日期和时间对这些文件。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
	           Date         Time   Version       Size       File name
		   -----------------------------------------------------------------------
		   07-Jun-2003  00:44  1.1.4322.910    253,952  Aspnet_isapi.dll
		   07-Jun-2003  00:44  1.1.4322.910     20,480  Aspnet_regiis.exe
		   07-Jun-2003  00:44  1.1.4322.910     32,768  Aspnet_wp.exe
		   15-May-2003  23:49                   33,522  Installpersistsqlstate.sql
		   15-May-2003  23:49                   34,150  Installsqlstate.sql
		   07-Jun-2003  12:52  1.1.4322.910  1,216,512  System.dll
		   07-Jun-2003  00:39                   14,472  Webuivalidation.js
		   07-Jun-2003  12:52  1.1.4322.910  1,249,280  System.Web.dll

状态

Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中的问题。

属性

文章编号: 821349 - 最后修改: 2014年2月27日 - 修订: 2.3
这篇文章中的信息适用于:
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft ASP.NET 1.1
关键字:?
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbnetframe100presp3fix kbfix kbhttp kbqfe kbbug KB821349 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 821349
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com