Sto cercando di trovare l'indirizzo di system()
in un repository di codice che sto tentando di sfruttare utilizzando Return Oriented Programming (per un progetto di corso). Il codice ha incluso stdlib.h
ma non ha utilizzato system()
ovunque.
Avevo l'impressione che tutte le funzioni in stdlib.h
si trovassero nello stesso spazio degli indirizzi dell'eseguibile (che sto cercando di sfruttare) indipendentemente dal fatto che siano state utilizzate esplicitamente. gdb
mi dà questo errore:
(gdb) print 'system@plt'
No symbol "system@plt" in current context.
Allo stesso modo, execve()
non è nel contesto neanche:
(gdb) print 'execve@plt'
No symbol "execve@plt" in current context.
Questo significa che il codice è immune a ROP? Non conosco alcuna altra funzione che possa essere utilizzata per generare una shell.