Sto studiando l'attacco Return-to-libc e capisco il concetto. Ma una cosa non ha ancora senso. Per effettuare l'attacco ho bisogno dell'indirizzo di memoria di system () e "/ bin / sh" , che è diverso su ogni sistema . E tutti gli esempi che ho visto sull'argomento riguardano la creazione di un codice C fittizio e il debugging con gdb per trovare questi indirizzi su il loro sistema host.
Bene, come posso ottenere questi indirizzi di memoria sul sistema target se non ho ancora accesso alla shell? Tutto quello che ho è forse un indirizzo EIP che ho scoperto con un fuzzing e uno stack non eseguibile che non posso eseguire su di esso?