【问题标题】:Execution from 1 to 1 mapped page从 1 到 1 个映射页面执行
【发布时间】:2021-09-24 09:43:53
【问题描述】:

我用 MmAllocateContiguousMemory 分配页面并获取页面物理地址。

我在页表中添加了 1 对 1 的映射(新的虚拟地址与物理地址相同)。

新的虚拟地址清除了第 32-63 位。

我将 shellcode 写入新的虚拟地址。

我尝试执行 shellcode 并获得 KERNEL_SECURITY_CHECK_FAILURE。

如果我将物理地址映射到内核地址范围内的某个虚拟地址,shellcode 将执行得很好。

如何调用这种保护/行为?

我认为它是 SMEP,但禁用它并没有改变任何东西。

【问题讨论】:

    标签: windows x86 kernel shellcode windows-kernel


    【解决方案1】:

    没关系,pml4 条目已经存在并设置了 nx 位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 2013-06-20
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 2010-09-30
      • 1970-01-01
      相关资源
      最近更新 更多