====== Memory Corruption Tutorial ====== ===== Preface ===== * [[.about:tutorial|About this tutorial]] * [[.about:author|About the author]] ===== Background Knowledge ===== * [[.background:memory|Memory types]] * [[.background:exec|Program execution details]] ===== Exploitation Techniques ===== * [[.exploitation:basic|Basic concepts of buffer overflows]] * [[.exploitation:nop-sled|NOP sled]] * [[.exploitation:external-buffers|Environment variable and command line argument buffers]] * [[.exploitation:rop|Return-oriented programming (ROP)]] ===== Protection Mechanisms ===== * [[.protection:stdlib|Dangerous standard library functions and safer alternatives]] * [[.protection:ascii-armor|ASCII-armored addresses]] * [[.protection:stack-protection|Stack protection]] * [[.protection:aslr|Address Space Layout Randomization (ASLR)]] * [[.protection:pie|Position-independent Executable (PIE)]] * [[.protection:nx|NX bit]] * [[.protection:cfi|Control-flow Integrity (CFI)]] * [[.protection:static-analysis|Static code analysis]] ===== Discussion ===== * [[https://www.proggen.org/forum/viewtopic.php?f=39&t=7015|General discussion about this tutorial]] ===== License ===== Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.