首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何绕过Windows 10的CFG机制

    了解CFG 控制流保护(Control Flow Guard,CFG)是微软在Windows 8.1 update 3和Windows 10下实现的一个保护机制,用以保护在汇编层下的直接调用。...趋势科技分享的一篇Windows 10如何实现CFG的分析文章很不错。虽说目前已有数种公开的CFG绕过方法,但是这些方法大多是针对CFG的实现算法,而我想从功能的薄弱点入手。...所以剩下的问题便是,我们如何利用任意读写来绕过CFG。 根据趋势科技的研究,函数LdrValidateUserCallTarget调用CFG验证函数是否有效使用了间接调用,如下图所示: ?...我要找的API应该是可以向堆栈加载一个指针用以覆盖返回地址,从而绕过CFG。...记住CFG会保护所有的间接调用,由于jscript9.dll的函数被CFG保护了,所以不能调用直接指向ntdll的函数。偏移地址0×10下就有一个这样的函数: ?

    1.7K60

    CFG防护机制简单实践与介绍

    简介 Control Flow Guard(CFG)是较新的windows漏洞利用缓解措施,旨在解决内存损坏漏洞。 针对的是间接跳转的保护,比如call eax,jmp eax等。...CFG扩展了先前的漏洞缓解技术,例如GS,DEP和ASLR。 这个保护措施从Microsoft Visual Studio 2015及以上开始支持。...o_array[0].fun(1); return 0; } 修改编译选项 上面改了可能报错: 命令行 error D8016: “/ZI”和“/guard:cf”命令行选项不兼容 就是CFG...与这个ZI不兼容,所以我们得关闭ZI 编译完成我们可以使用winchecksec工具查看是否开启了CFG https://github.com/trailofbits/winchecksec 或者使用VS...自带的工具dumpbin.exe,命令如下: dumpbin.exe /headers /loadconfig E:\VS2017\learnCFG\Debug\learnCFG.exe 开启了CFG,

    6500
    领券