Un caso de Prueba: Desbordamiento de Buffer
Publicado: Mié Jun 17, 2009 8:54 pm
Hola, necesito identificar un caso de prueba que detecte el desbordamiento de buffer en la
memoria montón que se puede producir en el programa siguiente:
He puesto valores de mas de 50 caracteres por exagerar un poco y no pasa nada, porfavor si alguien puede encontrarle algun valor para desborarlo. Yo utilizo el Ubuntu.
Gracias.
memoria montón que se puede producir en el programa siguiente:
Código: Seleccionar todo
#include <stdio.h>
void comprobar (char *pas) {
char *passwd;
passwd = (char *) malloc (sizeof (char) * 8);
strcpy(passwd, pas);
passwd = (char *) strlwr(passwd);
if (strcmp(passwd, "mipas")==0) printf ("Password correcto. ");
else printf ("Password incorrecto. ");
return;
}
int main(int argc, char *argv[]) {
int i;
comprobar (argv[1]);
printf ("Finaliza. ");
scanf("%d", &i);
return 0;
}
Gracias.