objdump -t <program> -> Show symbols


  • Write more data to an address than what was allocated for it

Prevention / Mitgation

  • Stack canary
  • Reorder the variables

ASLR

Address Space Layout Randomisation - Randomises addresses to prevent hardcoding - but has to be compiled for executables

On the fly ASLR disable - setarch \uname -m` -R `

  • sysctl kernel.randomize_va_space=0

NX

Non-eXecutable region


checksec