首页
社区
课程
招聘
[求助]关于win32k.sys SfnINSTRING 本地内核拒绝服务漏洞
发表于: 2016-3-3 12:13 13780

[求助]关于win32k.sys SfnINSTRING 本地内核拒绝服务漏洞

2016-3-3 12:13
13780
漏洞利用代码主要是
HWND hwnd = FindWindow("DDEMLEvent" , NULL); PostMessage(hwnd , 0x18d , 0x0 , 0x80000000);完成的
但是由于尝试不同的窗口类有可能 蓝屏 也有可能不蓝。

所以尝试看了下user32!DispatchMessage其主要是user32!DispatchMessageWorker来完成的

其中会对msg->hwnd做ValidateHwnd,而其主要在user32!VmValidateHandle中完成,主要逻辑是根据USER32!gSharedInfo(tagSHAREDINFO)的pHandleEntry来根据msg->hwnd定位到其对应窗口句柄项得到其对应的内核对象pobject再减去teb里的Win32ClientInfo里的tagDESKINFO里的UlClientDelta来返回给user32!DispatchMessageWorker。假设这个返回值叫a。该函数用*(pbyte)(a+0x16)的值&4来决定是否调用UserCallWinProcCheckWow还是NtUserDispatchMessage的。只有后者能触发漏洞。

所以,想请教下HmValidateHandle的返回值是什么结构指针?到底是什么决定了什么哪些窗口能够进入NtUserDispatchMessage从而触发该漏洞呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//