Sto cercando di sfruttare un programma utilizzando una vulnerabilità di stringa di formato.
Sto cercando di riscrivere un puntatore GLT della funzione printf
(usando un attacco stringa formato) in modo che punti al mio shellcode. Ho ottenuto l'indirizzo del puntatore disassemblando la funzione principale e collocato lo shellcode, che voglio eseguire, in un buffer del programma vulnerabile. Indirizza l'indirizzo dell'inizio dello shellcode in gdb
(usando find
).
Ho scritto l'indirizzo dell'inizio del mio shellcode nel got.plt di printf
.
Quando eseguo il mio exploit in gdb funziona perfettamente. Tuttavia, al di fuori di GDB non funziona.
Annullo le variabili di ambiente LINES
e COLOUMNS
all'interno di gdb
(queste sono le uniche variabili che differiscono dall'ambiente esterno gdb
) e ho chiamato il programma utilizzando il percorso completo (ad esempio /home/user/vuln
- in gdb e all'esterno).
Cosa mi manca?