Microsoft ASP.NET规范化处理导致授权绕过漏洞(MS05-004)

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1108208 漏洞类型 输入验证
发布时间 2004-10-06 更新时间 2007-10-10
CVE编号 CVE-2004-0847 CNNVD-ID CNNVD-200411-003
漏洞平台 ASP CVSS评分 7.5
|漏洞来源
https://www.exploit-db.com/exploits/24666
https://www.securityfocus.com/bid/11342
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200411-003
|漏洞详情
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'对应的是同一个资源,只是表示方法不同。有效的利用这个漏洞将允许攻击者访问任意需要授权的资源。
|漏洞EXP
source: http://www.securityfocus.com/bid/11342/info

Microsoft ASP.NET is reported prone to a remote information-disclosure vulnerability because the application fails to properly secure documents when handling malformed URI requests. 

An attacker may leverage this issue to bypass authentication required to access files in secured directories.

Mozilla Web Browser based proof of concept: 
http://www.example.com/secureDirectory\somefile.aspx 

Microsoft Internet Explorer based proof of concept: 
http://www.example.com/secureDirectory%5Csomefile.aspx
|受影响的产品
Microsoft ASP.NET 1.1 Microsoft ASP.NET 1.0 Microsoft ASP.NET 0 Microsoft .NET Framework 1.1 SP1 Microsoft .NET Framework 1.1 Microsoft .NET Framework 1.0 SP3
|参考资料

来源:US-CERTTechnicalAlert:TA05-039A
名称:TA05-039A
链接:http://www.us-cert.gov/cas/techalerts/TA05-039A.html
来源:US-CERTVulnerabilityNote:VU#283646
名称:VU#283646
链接:http://www.kb.cert.org/vuls/id/283646
来源:XF
名称:windows-forms-security-bypass(17644)
链接:http://xforce.iss.net/xforce/xfdb/17644
来源:MS
名称:MS05-004
链接:http://www.microsoft.com/technet/security/bulletin/ms05-004.mspx
来源:NTBUGTRAQ
名称:20040914Securitybugin.NETFormsAuthentication
链接:http://archives.neohapsis.com/archives/ntbugtraq/2004-q3/0221.html
来源:BID
名称:11342
链接:http://www.securityfocus.com/bid/11342
来源:sourceforge.net
链接:http://sourceforge.net/mailarchive/forum.php?thread_id=5671607&forum_id=24754
来源:USGovernmentResource:oval:org.mitre.oval:def:4987
名称:oval:org.mitre.oval:def:4987
链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:4987
来源:USGovernmentResource:oval:org.mitre.oval:def:3556
名称:oval:org.mitre.oval:def:3556
链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:3556