首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第53期->最新漏洞
期刊号: 类型: 关键词:
Microsoft ASP.NET规范化处理导致授权绕过漏洞

日期:2004-11-05

发布日期:2004-10-05
更新日期:2004-10-11

受影响系统:
Microsoft ASP.NET 1.1
Microsoft ASP.NET 1.0
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 11342

ASP.NET是一套由Microsoft分发的帮助开发者构建基于WEB的应用的系统。

ASP.NET在对URL请求进行规范化处理时存在一个安全问题,远程攻击者可以利用这个漏洞发送特殊请求给ASP.NET应用程序,绕过授权配置,访问受保护的资源。

所谓规范化是将一个名称的各种等效形式解析为单个标准名称的过程。例如, 将"c:\test\test.txt"、"test\test.txt"、"..\test.txt"统一转换为物理路径"c:\test\test.txt"。当 Web 服务器收到 URL 后,该服务器需要将请求映射到一个确定响应的文件系统路径,这时就会调用规范化例程进行处理。

当试图访问某个受保护的资源时,ASP.NET会检查web.config看是否该资源需要授权。如果找到匹配项,则启动相应的认证机制,如FORM认证或者Windows认证。如果找不到匹配项,则继续检查上级应用的web.config中的授权部分,直至machine.config, 缺省情况下machine.config授权任意用户访问任意资源。

ASP.NET在进行规范化处理时存在问题,导致攻击者如果提供文件名的另外一种表示方法,就可以绕过限制。例如,'/secret/secret.aspx'是一个需要授权才能访问的资源, 攻击者可以用'/secret\secret.aspx'来进行访问。当ASP.NET将这个文件名在web.config中进行检查时,就找不到匹配项,从而最终授权用户无需进行认证即可访问此资源。而实际上'/secret/secret.aspx'和'/secret\secret.aspx'对应的是同一个资源,只是表示方法不同。有效的利用这个漏洞将允许攻击者访问任意需要授权的资源。




<*来源:Toby Beaumont (toby@CREATOR.CO.UK)
  
  链接:http://www.microsoft.com/security/incident/aspnet.mspx
        http://marc.theaimsgroup.com/?l=ntbugtraq&m=109724680513449&w=2
        http://marc.theaimsgroup.com/?l=ntbugtraq&m=109631115514756&w=2
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Toby Beaumont (toby@CREATOR.CO.UK)提供了如下测试方法:

如果下列资源是需要授权访问的:
http://localhost/secure/somefile.aspx

可以通过下列方法来绕过授权限制:

http://localhost/secure\somefile.aspx(使用Mozilla浏览器)
http://localhost/secure%5csomefile.aspx(使用IE浏览器)

建议:
--------------------------------------------------------------------------------
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

1. 如果您是系统管理员,可以安装微软提供的一个HTTP模块来临时解决这个问题:
   http://www.microsoft.com/downloads/details.aspx?FamilyId=DA77B852-DFA0-4631-AAF9-8BCC6C743026

   关于如何安装使用这个模块,可以参考下列链接:
   http://support.microsoft.com/?kbid=887289

2. 如果您是开发人员,也可以通过编程方式来进行修复,可参考如下链接:
   http://support.microsoft.com/?kbid=887459

厂商补丁:

Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.microsoft.com/
版权所有,未经许可,不得转载