Microsoft IIS CGI文件名检查漏洞发布时间:2000-11-09 更新时间:2000-11-09 严重程度:高 威胁程度:普通用户访问权限 错误类型:设计错误 利用方式:服务器模式 受影响系统 Microsoft IIS 4.0详细描述 Microsoft IIS 4.0/5.0在处理CGI程序(.exe, .pl, .php等等)时, 对用户请求 的CGI程序名没有做完整的安全检查。如果文件名中包含一个特殊字符,可能导 致IIS错误地打开或者执行文件。 1. 如果用户构造一个特殊的HTTP请求,要求IIS执行一个可执行目录下的".exe" 或者".com"后缀结尾的程序。IIS会试图加载这个程序,加载时会首先检查这个 文件是否存在以及此文件的类型。攻击者通过在文件名中添加一个特殊字符, 导致加载程序错误地检查了另外一个不同的文件。如果此文件满足以下条件: (1) 此文件存在 (2) 此文件是一个批处理文件 (3) 文件是一个大于零字节的纯文本文件 IIS会自动调用"cmd.exe"对其进行解释。初始文件名的其他部分被当作批处理 文件的参数传递给"cmd.exe",攻击者可以使用"&"等符号来执行任意命令。 2. 如果系统中安装了一些脚本解释器(php.exe,perl.exe等等)以及映射,当用 户要求执行对应的CGI脚本程序(.php3, .pl等等)时,IIS会将用户提供的文件 名交给脚本解释器解释。如果攻击者在文件中使用某些特殊字符,将使该解释 器打开一个WEB目录以外的文件,依赖于解释器的处理方式,攻击者可能获取文 件的部分或者全部内容。 测试代码 尚无 解决方案 您可以在下列地址看到微软安全公告的详细内容: http://www.microsoft.com/technet/security/bulletin/ms00-086.asp 补丁程序可以在下列地址下载: . Microsoft IIS 5.0: * 英文: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25547 * 简体中文: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25580 * 繁体中文: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25581 * 德文: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25582 * 日文: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25583 相关信息 |