Devo sfruttare un buffer overflow molto semplice in un programma C ++ vulnerabile per un compito e non riesco a trovare la variabile di ambiente SHELL.
Non ho mai lavorato con BoF prima e dopo aver letto molte domande simili, post, ecc. Ho queste informazioni (correggimi se è sbagliato):
- Il programma memorizza le variabili di ambiente in una variabile globale chiamata
environ
-
Posso trovare l'indirizzo di questa variabile in questo modo:
(gdb) info variable environ All variables matching regular expression "environ": Non-debugging symbols: 0xb7fd1b00 __environ 0xb7fd1b00 _environ 0xb7fd1b00 environ
-
Ho bisogno di trovare la stringa
/bin/bash
in quella variabile per avviare una shell (ho già ottenuto gli indirizzi di sistema e di uscita, ho solo bisogno della route per la shell). E qui è dove non so cosa fare. Ho letto tutorial gdb, ma ancora niente.x/s 0xb7fd1b00
non restituisce nulla di utile.