Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As far as I know stack canaries are values written on the stack that, if overwritten by a buffer overflow, force the application to close at return.

My question is: if I overwrite both EIP and stack because I want to ROP something... and I NEVER return.. do stack canaries create a problem too?

share|improve this question
up vote 4 down vote accepted

A stack canary is still a problem, because you cannot control the EIP in a stack based buffer overflow without overwriting the return address (which is above the carny). Further more the function that contained the stack based buffer overflow must return before the corrupted return address becomes the new EIP.

This is not a problem for dangling pointers.

You need to spend more time with your debugger! There is no excuse for this. If you had stepped though exploitation process you would know this!

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.