网站大量收购独家精品文档,联系QQ:2885784924

Windows XP 核心驱动 AFD.sys 本地权限提升漏洞分析.doc

Windows XP 核心驱动 AFD.sys 本地权限提升漏洞分析.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows XP 核心驱动 AFD.sys 本地权限提升漏洞分析

Windows XP 核心驱动 AFD.sys 本地权限提升漏洞分析(ms08066) 创建时间:2008-10-15 文章属性:原创 文章提交:whitecell (sinister_at_) Author:??Polymorphours Email:?? Polymorphours@ Homepage: Date:????2008-10-15 漏洞模块: AFD.sys 漏洞类型: 任意内核地址可写 这个漏洞又是一个可以写任意内核地址的漏洞,产生这个漏洞的原因是 ProbeForWrite 函数 因为检查长度为 0 的Buffer被绕过。下面看下具体漏洞的情况,这个漏洞出现在函数 AfdGetRemoteAddress 中,当传入的第7个参数为 0 的时候,ProbeForWrite的检查形同虚设了。 注意第六个参数 PVOID Address, 它是由 Irp-UserBuffer 传入的,而 SIZE_T Length 为 OutputBufferLength,那么如果在 DeviceIoControl 中的 OutputBuffer 设置成内核需要写 的地址,OutputBufferLength 设置为 0,并设置正确的 IoDeviceCode 即可触发这个漏洞. PAGE:00017D17 ; int __stdcall AfdGetRemoteAddress(int,int,char,int,int,PVOID Address,SIZE_T Length,int) PAGE:00017D17 __stdcall AfdGetRemoteAddress(x, x, x, x, x, x, x, x) proc near PAGE:00017D17???????????????????????????????????????? ; DATA XREF: .data:0001230Co PAGE:00017D17 PAGE:00017D17 var_24??????????= dword ptr -24h PAGE:00017D17 var_20??????????= dword ptr -20h PAGE:00017D17 var_1C??????????= dword ptr -1Ch PAGE:00017D17 ms_exc??????????= CPPEH_RECORD ptr -18h PAGE:00017D17 arg_0?????????? = dword ptr??8 PAGE:00017D17 arg_8?????????? = byte ptr??10h PAGE:00017D17 Address???????? = dword ptr??1Ch PAGE:00017D17 Length??????????= dword ptr??20h PAGE:00017D17 arg_1C??????????= dword ptr??24h PAGE:00017D17 PAGE:00017D17???????????????? push????14h PAGE:00017D19???????????????? push????offset unk_11B00 PAGE:00017D1E???????????????? call????__SEH_prolog PAGE:00017D1E PAGE:00017D23???????????????? mov???? eax, [ebp+arg_0] PAGE:00017D26???????????????? mov???? ebx, [eax+0Ch] PAGE:00017D29???????????????? mov???? [ebp+var_24], ebx PAGE:00017D2C???????????????? xor???? esi, esi PAGE:00017D2E???????????????? mov???? eax, [ebp+arg_1C] PAGE:00017D31???????????????? mov???? [eax], esi PAGE:00017D33???????????????? push????ebx PAGE:00017D34???????????????? call????AfdLockEndpointContext(x) PAGE:00017D34 PAGE:00017D39???????????????? mov???? [ebp+var_20], eax PAGE:00017D3C???????????????? cmp???? eax, esi PAGE:00017D3E?????????

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档