Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Como desbordar la memoria con este Programa??

Estas en el tema de Como desbordar la memoria con este Programa?? en el foro de C/C++ en Foros del Web. Hola, necesito hacer un caso de prueba, el enunciado es el siguiente: -Identifica un caso de Prueba que detecte el desbordamiento del buffer en la ...
  #1 (permalink)  
Antiguo 26/05/2009, 11:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 62
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación Como desbordar la memoria con este Programa??

Hola, necesito hacer un caso de prueba, el enunciado es el siguiente:

-Identifica un caso de Prueba que detecte el desbordamiento del buffer en la memoria montón que se puede producir en el siguiente programa:


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void comprobar (char *pas) {
char *passwd;

passwd = (char *) malloc (sizeof (char) * 8);
strcpy(passwd, pas);
passwd = (char *) strlwr(passwd); /* strlwr - convierte a minuscula*/ /* si no compila se quita el strlwr */

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;
}




Espero tu ayuda...
Gracias.
  #2 (permalink)  
Antiguo 26/05/2009, 13:08
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Como desbordar la memoria con este Programa??

Es muy simple la verdad ... pensa un poco. ¿Donde ves algun limite?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 26/05/2009, 14:32
 
Fecha de Ingreso: marzo-2009
Mensajes: 62
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Como desbordar la memoria con este Programa??

justamente por eso es lo raro....he exagerado la cantidad de caracteres introducidos y esto no me muestra señales de desbordamiento...

Les agradecería si me tienen la respuesta.

Saludos
  #4 (permalink)  
Antiguo 26/05/2009, 15:08
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Como desbordar la memoria con este Programa??

Aqui " strcpy(passwd, pas); " si la cadena pas es mas grande que el espacio que has reservado se desbordara y machacaras variables o posiciones de memoria adyacentes a ese espacio reservado.

para eso esta la funcion strncpy()
  #5 (permalink)  
Antiguo 26/05/2009, 15:58
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Como desbordar la memoria con este Programa??

No se que señales esperas pero a menos que el S.O. o la RTL tenga alguna comprobacion en tiempo de ejecucion no deberias ver nada, estas simplemente escribiendo en memoria virtual (una pagina son normalmente 4096 bytes con lo cual pasar a la siguiente te va a costar e igualmente lo mas probable es que tambien estuviera asignada). La pila no se ve afectada en lo absoluto ...

En fin, que ya encontraste la solucion en realidad.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 27/05/2009, 10:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 62
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Como desbordar la memoria con este Programa??

NO... no encuentro la solución todavía
  #7 (permalink)  
Antiguo 27/05/2009, 11:00
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Como desbordar la memoria con este Programa??

Ah, bueno, entonces siga buscandola ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #8 (permalink)  
Antiguo 28/05/2009, 11:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 62
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación Respuesta: Como desbordar la memoria con este Programa??

"Etermal..." Me parece que no aportas en nada, creo que mejor es si dejás a otras personas que realmente quieren aportar, pero no hagás perder el tiempo.

Gracias.
  #9 (permalink)  
Antiguo 28/05/2009, 11:56
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Como desbordar la memoria con este Programa??

Mira, la cosa es simple, no hace falta ningun aporte, la solucion ya la encontraste, sino sos capaz de reflexionar al respecto y darte cuenta es pura y exclusivamente tu problema.

Si te queda una duda documentate: desbordamiento de buffer.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #10 (permalink)  
Antiguo 28/05/2009, 12:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 62
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Como desbordar la memoria con este Programa??

Todo lleva su proceso, y es muy obvio que documentado estoy, pero para este caso en concreto, q al momento de ejecutarlo, no logro dar con un valor En CONCRETO para realizar el desbordamiento.
De todos modos ya estamos llegando a la solución en otro foro donde aportan con soluciones......en cuanto la tenga la pondré aqui por si alguien tiene la misma duda.

Saludos.
  #11 (permalink)  
Antiguo 28/05/2009, 12:43
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Como desbordar la memoria con este Programa??

Adelante campeon, todavia no sabes lo que buscas y no te dignaste en leer el enlace.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:14.