电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> 网络安全>>asp溢出漏洞:

asp溢出漏洞

来源:网络 | 2007-2-8 | (有2169人读过)

asp溢出漏洞。这个方法,我至今没有成功过。溢出成功后,据说将得到一个普通用户权限.在这儿只是摘篇文章放这儿充数罢了。(好笑呀,还写教程呢!)  
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 

DATA 

DEST 

[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服务。 


你可以上灰色下载已编译好的源程序。使用方法,cmd下: 

c:>Usage: isgrey [-b] 
: 0 -- Chinese Win2000 + SP0 or SP1 
1 -- Chinese Win2000 + SP2 
2 -- English Win2000 + SP2 
: the asp file can deal with POST method 
[-b]: brute brute mode,very very very long time mode(do not use at first) 


Example: If www.some.com has a html source code include: 


then you can run: 
isgrey www.some.com 1 /search.asp 
注:从程序行的命令方法看,asp的路径指的是具有表单提交的虚拟路径,不应该是网上所说的asp的实际路径。  
网络安全热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号