I am trying to exploit a buffer overflow vulnerability on a testing environment.

Although I have managed to write a specific address at the return address, the stack is executable and I have the shell code ready.

When i use them, the shell I get has my own UID and not the executable's owner privileges.

Why is this happening?

1 Answer 1


man bash:

If the shell is started with the effective user (group) id not equal to the real user (group) id, and the -p option is not supplied, ... and the effective user id is set to the real user id.

See also (Ubuntu) setuid bash doesn't work, Setuid bit seems to have no effect on bash and many other resources.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .