# No-exec / NX {{#include ../../banners/hacktricks-training.md}} ## 基本信息 **No-Execute (NX)** 位,也称为 **Execute Disable (XD)** 在英特尔术语中,是一种基于硬件的安全特性,旨在 **减轻** **缓冲区溢出** 攻击的影响。当实施并启用时,它区分了用于 **可执行代码** 的内存区域和用于 **数据** 的区域,例如 **栈** 和 **堆**。核心思想是通过将恶意代码放置在栈中并将执行流引导到它,来防止攻击者通过缓冲区溢出漏洞执行恶意代码。 ## 绕过方法 - 可以使用诸如 [**ROP**](../rop-return-oriented-programing/index.html) **来绕过** 此保护,通过执行二进制文件中已存在的可执行代码块。 - [**Ret2libc**](../rop-return-oriented-programing/ret2lib/index.html) - [**Ret2syscall**](../rop-return-oriented-programing/rop-syscall-execv/index.html) - **Ret2...** {{#include ../../banners/hacktricks-training.md}}