关于我们 | 加入我们 | 网站结构 | 交换连接 | 联系我们
| 最新文档 | 技术文摘 | 安全漏洞 | 菜鸟乐园 | 黑客进阶 | 技术文库 | 软件下载 | 技术论坛 |
 您现在的位置 >> 返回首页 文档发表时间:2002-05-13

Microsoft 安全公告(MS02-018):IIS .asp 缓冲溢出 (阅览 次)

涉及程序:
IIS 4.0/5.0

描述:
NT/2k IIS4.0/5.0 .asp映射分块编码远程缓冲区溢出漏洞

详细:
Microsoft IIS(Internet Information Server)是MS Windows系统默认自带的Web服务器软件。

IIS 4.0/5.0 ASP (Active Server Pages) ISAPI过滤器存在远程缓冲区溢出漏洞,远程攻击者可以利用此漏洞得到主机本地普通用户访问权限。

默认安装的IIS 4.0/5.0服务器加载了ASP ISAPI过滤器,它在处理分块编码传送(chunked encoding transfer)机制的代码中存在一个缓冲区溢出漏洞。攻击者通过提交恶意分块编码的数据可以覆盖heap区的内存数据,使之以他指定的数据重写任意地址的4字节内存。例如,攻击者可以让dllhost.exe重写它可以访问的任意4字节的内存,包括程序函数指针、意外处理模块指针或其他任何可以用来控制程序执行流程的地址,从而改变程序执行流程,执行任意攻击者指定的代码。

如果攻击者使用随机数据,可能使IIS服务崩溃(IIS 5.0会自动重启)。如果精心构造发送的数据,也可能允许攻击者执行任意代码。

成功地利用这个漏洞,对于IIS 4.0,远程攻击者可以获取SYSTEM权限;对于IIS 5.0攻击者可以获取IWAM_computername用户的权限。


以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负


Riley Hassell (riley@eeye.com)提供了如下测试方法:

以下的演示可重现问题,使用一个打了最新补丁的Windows 2000系统,安装一个默认的.asp页面:

**************会话开始****************
POST /iisstart.asp HTTP/1.1
Accept: */*
Host: eeye.com
Content-Type: application/x-www-form-urlencoded
Transfer-Encoding: chunked

10
PADPADPADPADPADP
4
DATA
4
DEST
0
[enter]
[enter]
**************会话结束******************


上面的会话导致从dllhost的子进程中执行默认意外处理模块,会弹出消息:

DLLHOST.EXE - Application error
The instruction at 0x77fcb397 referenced memory at 0x54534544

其中0x54534544代表“TSED”,在little endian架构的机器上代表“DEST”。DLLHOST.EXE试图把“DATA”拷贝到“DEST”,因为0x54534544地址的内存不可写,发生访问错误,NT Kernel中的结构化意外处理模块(structured exception handling)捕获了这个信号杀掉了dllhost.exe进程。

问题在于上述会话用自己的数据重写了堆管理头结构(被AllocateHeap()所使用)中两个4字节的数据。在上面演示中,会话用“DATA”重写了第一个4字节的内存,它的内容将会被写到第二个4字节内存中指定的地址中去,当然也用“DEST”重写了第二个4字节的内存,因此,指定内容“DATA”会被程序试图写到地址为0x54534544(“DEST”)的内存里去。通过重写这两个4字节的数据,可以让dllhost.exe重写它可以访问的任意4字节的内存,包括程序函数指针、意外处理模块指针或其他任何可以用来控制程序执行流程的地址。

需要注意的是虽然这个漏洞存在于.ASP ISAPI,但还是需要一个机制来提交Shellcode等利用代码,有表单的ASP程序当然是比较方便,可以通过表单变量提交,如果没有表单,也可以通过HTTP请求头中的服务器变量提交。
受影响的系统:
Microsoft IIS 4.0
- Microsoft Windows NT 4.0
Microsoft IIS 5.0
- Microsoft Windows 2000

解决方案:
这是一个非常严重的安全漏洞,eEye建议我们立即安装微软提供的补丁
下载补丁:
Microsoft IIS 4.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37931

Microsoft IIS 5.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37824

如果您不需要使用ASP脚本,作为临时解决方案,建议您立刻删除".asp"的脚本映射。
删除上述脚本映射时可以参考如下步骤:
1. 打开Internet 服务管理器 ;
2. 右击你的服务器,在菜单中选择"属性"栏 ;
3. 选择"主属性" ;
4. 选择 WWW 服务 | 编辑 | 主目录 | 配置 ;
5. 在扩展名列表中删除".asp"项;
6. 保存设置,然后重启IIS服务。




相关站点:
http://www.eeye.com/html/Research/Advisories/AD20020410.html

返回

建议您使用IE浏览器800×600以上分辩率浏览以获最佳效果

20CN网络安全小组版权所有
Copyright © 2000-2006 20CN Network Security Group. All Rights Reserved.
如有任何问题及建议请写信至 webmaster@20cn.net