Target binary
Mitigations
Scenarios
Payload builder
Payload bytes
A stack canary is a random value placed before the return address; if an overflow changes it, the program aborts before returning. NX marks the stack non-executable, defeating shellcode-on-stack (so attackers reuse existing code — ret2win/ROP). ASLR randomises addresses, so you need an info-leak first. Defeating all three in sequence is the real skill.