General buffer overflow methodology

High-level

  1. crash (FUZZ/SPIKE)
  2. replicate crash
  3. Find/Controlling EIP exact byte
  4. Make sure space for shellcode is enough
  5. Find Bad Characters
  6. Find JMP function
  7. Make shellcode * pop calc
  8. Make shellcode * reverse_shell
  9. Try to exit payload gracefully

Detailed Instructions

Shortcuts

Observations