I'm trying to find the address of system()
in a code repo that I'm trying to exploit using Return Oriented Programming (for a course project). The code has included stdlib.h
but it has not used system()
anywhere.
I was under the impression that all the functions in stdlib.h
would be in the same address space as the executable (that I'm trying to exploit) whether or not they were explicitly used. gdb
gives me this error:
(gdb) print 'system@plt'
No symbol "system@plt" in current context.
Similarly, execve()
is not in context either:
(gdb) print 'execve@plt'
No symbol "execve@plt" in current context.
Does this mean that the code is immune to ROP? I don't know of any other function that can be used to spawn a shell.
plt
; I found this very good article: reverseengineering.stackexchange.com/questions/1992/…