安全研究
安全漏洞
Microsoft ASP.NET规范化处理导致授权绕过漏洞(MS05-004)
发布日期:2004-10-05
更新日期:2005-02-10
受影响系统:
Microsoft ASP.NET 1.1描述:
Microsoft ASP.NET 1.0
BUGTRAQ ID: 11342
CVE(CAN) ID: CVE-2004-0847
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
http://www.us-cert.gov/cas/techalerts/TA05-039Apr.html
http://www.microsoft.com/technet/security/bulletin/ms05-004.mspx
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
如果下列资源是需要授权访问的:
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
---------
Microsoft已经为此发布了一个安全公告(MS05-004)以及相应补丁:
MS05-004:ASP.NET Path Validation Vulnerability (887219)
链接:http://www.microsoft.com/technet/security/bulletin/ms05-004.mspx
补丁下载:
* Microsoft .NET Framework 1.0
- 下载针对下列系统的for .NET Framework 1.0 Service Pack 3补丁:
http://www.microsoft.com/downloads/details.aspx?FamilyId=4E6D56E5-3D8D-423B-99A1-41EDF23D65BC
. Windows 2000 Service Pack 3 or Service Pack 4
. Windows XP Service Pack 1 or Windows XP Service Pack 2,
. Windows Server 2003
- 下载针对下列系统的for .NET Framework 1.0 Service Pack 3补丁:
http://www.microsoft.com/downloads/details.aspx?FamilyId=EE611D27-52CF-43DB-BB97-21318C7FAA70
. Windows XP Tablet PC Edition
. Windows XP Media Center Edition
- 下载针对下列系统的for .NET Framework 1.0 Service Pack 2补丁:
http://www.microsoft.com/downloads/details.aspx?FamilyId=3271ACD5-EE3C-4BDF-AE28-56D2DF77151E
. Windows 2000 Service Pack 3 or Service Pack 4
. Windows XP Service Pack 1 or Windows XP Service Pack 2,
. Windows Server 2003
- 下载针对下列系统的for .NET Framework 1.0 Service Pack 2补丁:
http://www.microsoft.com/downloads/details.aspx?FamilyId=33D4D33E-473F-4842-A3A8-C8266AEE8FAB
. Windows XP Tablet PC Edition
. Windows XP Media Center Edition
* Microsoft .NET Framework 1.1
- 下载针对下列系统的for .NET Framework 1.1 Service Pack 1补丁:
http://www.microsoft.com/downloads/details.aspx?FamilyId=8EC6FB8A-29EB-49CF-9DBC-1A0DC2273FF9
. Windows 2000 Service Pack 3 or Service Pack 4
. Windows XP Service Pack 1 or Windows XP Service Pack 2,
. Windows XP Tablet PC Edition
. Windows XP Media Center Edition
- 下载针对下列系统的for .NET Framework 1.1 Service Pack 1补丁:? Windows Server 2003
http://www.microsoft.com/downloads/details.aspx?FamilyId=9BBD5617-49AE-40BF-B0FA-F9049349C6F5
. Windows Server 2003
- 下载针对下列系统的for .NET Framework 1.1补丁:
http://www.microsoft.com/downloads/details.aspx?FamilyId=C5E19719-000F-456A-BEAB-5BD7949F8AA2
. Windows 2000 Service Pack 3 or Service Pack 4
. Windows XP Service Pack 1 or Windows XP Service Pack 2,
. Windows XP Tablet PC Edition
. Windows XP Media Center Edition
- 下载针对下列系统的for .NET Framework 1.1补丁
http://www.microsoft.com/downloads/details.aspx?FamilyId=E54BE8BE-22AF-4390-86E1-25D76794D5C7
. Windows Server 2003
浏览次数:4612
严重程度:0(网友投票)
绿盟科技给您安全的保障