Questo è per una classe Computer e Network Security. Non sto chiedendo la soluzione, piuttosto solo un puntatore nella giusta direzione.
Il programma di destinazione ha una vulnerabilità off-by-one ed è compilato in modo che ebp
non venga inserito nello stack. Attaccando la vulnerabilità, sono in grado di modificare l'ultimo byte di eip
e inviare effettivamente il programma a qualsiasi istruzione nel programma.
La mia domanda è, se inserisco un codice dannoso nel programma di exploit (che chiama il programma di destinazione tramite execve
), posso modificare eip
in modo che punti a questo codice dannoso, oppure il runtime è abbastanza intelligente per sapere che sto tentando di eseguire codice che si trova al di fuori dei limiti del programma di destinazione e quindi non lo consente?
L'ambiente è una VM Debian Etch ridotta senza ASLR, ecc. Il programma di destinazione ha setuid
impostato su root, quindi il mio obiettivo è far sì che il programma di destinazione esegua le istruzioni che aprono una shell (dandomi la shell di root ).