17 lines
957 B
Markdown

# 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}}