gpt4 book ai didi

c - NOP 雪橇如何工作?

转载 作者:太空狗 更新时间:2023-10-29 16:17:45 26 4
gpt4 key购买 nike

我找不到一个很好的来源来回答这个问题。我知道 nop sled 是一种用于在缓冲区溢出攻击中规避堆栈随机化的技术,但我无法理解它是如何工作的。

说明此方法的简单示例是什么?

128 字节 nop sled 等术语是什么意思?

最佳答案

一些攻击包括使程序跳转到特定地址并从那里继续运行。注入(inject)的代码必须事先以某种方式加载到该确切位置。

堆栈随机化和其他运行时差异可能使程序跳转的地址无法预测,因此攻击者将 NOP sled 放置在大范围内存中。如果程序跳转到 sled 中的任何位置,它将运行所有剩余的 NOP,什么也不做,然后将运行负载代码,就在 sled 旁边。

攻击者使用 NOP sled 的原因是为了使目标地址更大:代码可以跳转到 sled 中的任何位置,而不是正好跳转到注入(inject)代码的开头。

一个 128 字节的 NOP sled 只是一组 128 字节宽的 NOP 指令。

注意 #1:NOP(No-OPeration)是大多数(所有?)架构中可用的指令,除了占用内存和一些运行时外什么都不做。

注意#2:在具有可变长度指令的体系结构中,一条 NOP 指令的长度通常只有一个字节,因此它可以用作方便的指令填充。不幸的是,这也使得制作 NOP sled 变得容易。

关于c - NOP 雪橇如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14760587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com