LibreCrops 外文翻译项目
latest
基于用户模式回调函数的内核漏洞分析、利用与防范
利用 MS15-061 Windows 内核释放后重用漏洞(win32k!xxxSetClassLong)
LibreCrops 外文翻译项目
Docs
»
LibreCrops 外文翻译项目
Edit on GitHub
LibreCrops 外文翻译项目
¶
目录
:
基于用户模式回调函数的内核漏洞分析、利用与防范
1. 简介
2. 背景
2.1. Win32k
GUI 线程与进程
2.2. 窗口管理器
用户对象
句柄表
内存中的用户对象
临界区
2.3. 用户模式回调函数
3. 基于用户模式回调函数的内核漏洞分析
3.1. Win32k 命名约定
3.2. 用户对象锁
线程锁
赋值锁
窗口对象释放后重用漏洞(CVE-2011-1237)
键盘布局对象释放后重用漏洞(CVE-2011-1241)
3.3. 对象状态检查
DDE 对话状态漏洞
菜单状态处理漏洞
3.4. 缓冲区重新分配
菜单项数组释放后重用漏洞
SetWindowPos 数组释放后重用漏洞
4. 可利用性
4.1. 内核堆
4.2. 释放后重用漏洞的利用
4.3. 零指针解引用漏洞的利用
5. 缓解
5.1. 释放后重用漏洞
5.2. 零指针解引用漏洞
6. 评论
7. 结论
参考文献
利用 MS15-061 Windows 内核释放后重用漏洞(win32k!xxxSetClassLong)
1. 简介
1.1. 漏洞描述
1.2. 受影响的操作系统
1.3. 荣誉
2. 初始分析
2.1. 背景
2.1.1. 补丁对比
2.2. 漏洞
2.2.1. 调用链
2.3. 概要
3. 触发漏洞
3.1. tagCLS 结构
3.2. 监视桌面堆
3.3. 触发用户模式回调
3.4. 使用已经释放了的内存
3.5. 伪造 tagCLS 结构
3.6. 非法访问
4. 利用漏洞
4.1. 单字零的问题
4.2. 泄漏桌面堆的信息
4.3 tagWND 结构
4.4. 代码注入
5. 结论
6. 致谢
7. 参考与进一步阅读