Estoy tratando de encontrar la dirección de system()
en un repositorio de código que estoy tratando de explotar usando la Programación Orientada por Devolución (para un proyecto de curso). El código ha incluido stdlib.h
pero no ha usado system()
en ninguna parte.
Tenía la impresión de que todas las funciones en stdlib.h
estarían en el mismo espacio de direcciones que el ejecutable (que estoy tratando de explotar) ya sea que se hayan utilizado explícitamente o no. gdb
me da este error:
(gdb) print 'system@plt'
No symbol "system@plt" in current context.
Del mismo modo, execve()
tampoco está en contexto:
(gdb) print 'execve@plt'
No symbol "execve@plt" in current context.
¿Esto significa que el código es inmune a ROP? No conozco ninguna otra función que pueda usarse para generar un shell.