mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
19 lines
1.1 KiB
Markdown
19 lines
1.1 KiB
Markdown
# No-exec / NX
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## Basic Information
|
|
|
|
The **No-Execute (NX)** bit, also known as **Execute Disable (XD)** in Intel terminology, is a hardware-based security feature designed to **mitigate** the effects of **buffer overflow** attacks. When implemented and enabled, it distinguishes between memory regions that are intended for **executable code** and those meant for **data**, such as the **stack** and **heap**. The core idea is to prevent an attacker from executing malicious code through buffer overflow vulnerabilities by putting the malicious code in the stack for example and directing the execution flow to it.
|
|
|
|
## Bypasses
|
|
|
|
- It's possible to use techniques such as [**ROP**](../rop-return-oriented-programing/) **to bypass** this protection by executing chunks of executable code already present in the binary.
|
|
- [**Ret2libc**](../rop-return-oriented-programing/ret2lib/)
|
|
- [**Ret2syscall**](../rop-return-oriented-programing/rop-syscall-execv/)
|
|
- **Ret2...**
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
|