|
作者: 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 4 DATA 4 DEST 0 [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号