 |
RPC溢出漏洞(MS03-26)已公布新的攻击代码 |
|
| RPC溢出漏洞(MS03-26)已公布新的攻击代码 |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:22:08
|
涉及程序: RPC溢出漏洞
描述: RPC溢出漏洞(MS03-26)已公布新的攻击代码
详细: 自RPC被发现存在严重的缓冲溢出漏洞以来,安络也一直在跟踪,并对其进行了深入研究。在此以前已先后发布了两篇安全漏洞公告(Microsoft RPC接口远程溢出缺陷允许执行任意代码、Microsoft Windows 2000 DCOM RPC接口DoS及权限提升缺陷),并也提供了相应的测试代码。
鉴于此漏洞危险程度之高,安络将再次重申,希望引起广大用户的重视。因为此漏洞会影响nt\2k\xp\2003+sp4的所有服务器,建议用户最好查一下是不是所有机器都打上了hotfix 。
LSD 的RPC溢出漏洞(MS03-26)其实包含了2个溢出漏洞,一个是本地的,一个是远程的。他们都是由一个通用接口导致的。
导致问题的调用如下:
hr = CoGetInstanceFromFile(pServerInfo,NULL,0,CLSCTX_REMOTE_SERVER,STGM_READWRITE,L"C:\\1234561111111111111111111111111.doc",1,&qi);
这个调用的文件名参数(第5个参数,会引起溢出),当这个文件名超长的时候,会导致客户端的本地溢出(在RPCSS中的GetPathForServer函数里只给了0X220堆栈的空间,但是是用lstrcpyw进行拷贝的),这个我们在这里就不深入研究了(不过这个API先会检查本地文件是否存在,在进行处理,因此由于建不了长文件,所以要利用这个溢出不能直接调用这个API,而是构造好包信息以后直接调用LPC的函数,有兴趣的可以自己去试。),我们来讲解一下远程的溢出。
在客户端给服务器传递这个参数的时候,会自动转化成如下格式:L“\\servername\c$\1234561111111111111111111111111.doc"这样的形式传递给远程服务器,于是在远程服务器的处理中会先取出servername名,但是这里没做检查,给定了0X20(默认问题代码如下:
GetPathForServer: .text:761543DA push ebp .text:761543DB mov ebp, esp .text:761543DD sub esp, 20h <-----0x20空间 .text:761543E0 mov eax, [ebp+arg_4] .text:761543E3 push ebx .text:761543E4 push esi .text:761543E5 mov esi, [ebp+hMem] .text:761543E8 push edi .text:761543E9 push 5Ch .text:761543EB pop ebx .text:761543EC mov [eax], esi .text:761543EE cmp [esi], bx .text:761543F1 mov edi, esi .text:761543F3 jnz loc_761544BF .text:761543F9 cmp [esi+2], bx .text:761543FD jnz loc_761544BF .text:76154403 lea eax, [ebp+String1]《-----------写入的地址,只有0X20 .text:76154406 push 0 .text:76154408 push eax .text:76154409 push esi 〈----------------------我们传入的文件名参数 .text:7615440A call GetMachineName 。。。。。。。。。。。。。。。。。。。。。。。。。。 此函数返回的时候,溢出点生效
GetMachineName: .text:7614DB6F mov eax, [ebp+arg_0] .text:7614DB72 mov ecx, [ebp+arg_4] .text:7614DB75 lea edx, [eax+4] .text:7614DB78 mov ax, [eax+4] .text:7614DB7C cmp ax, 5Ch 〈-----------------只判断0X5C
[1] [2] [3] [4] [5] [6] [7] [8] 下一页
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: 菜鸟编程十大好习惯 下一篇文章: 内核处理信号对应用层堆栈的影响 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |