Pasar la ejecución de un programa a otro
Publicado por JCB (1 intervención) el 12/04/2004 11:34:09
Tengo la duda de si es posible o no, pasar la ejecución de un programa a otro, utilizando un bufer overflow. Por ejemplo:
En el programa numero 1:
Tengo un puntero a una función, que muestra un solo caracter por pantalla.
Se cual es la direccion de la función, mediante el puntero ( %p).
Paro la ejecucion haciendo que el programa espere un tecla, y no termine el programa.
En el programa numero 2:
Es un simple array de x posiciones que sobreescribo todas, y en las que deben corresponder con EIP,bp, le indico la dirección que he obtenido del puntero del programa numero 1.
De esta forma al hacer el strcpy procovando el bufer overflow, el programa 2 deberia retornar a la función del programa 1, pero no acabo de ver si es posible o no (por que no me funciona) . Los dos programas son muy simples y estan echos en C.
Gracias.
JCB
En el programa numero 1:
Tengo un puntero a una función, que muestra un solo caracter por pantalla.
Se cual es la direccion de la función, mediante el puntero ( %p).
Paro la ejecucion haciendo que el programa espere un tecla, y no termine el programa.
En el programa numero 2:
Es un simple array de x posiciones que sobreescribo todas, y en las que deben corresponder con EIP,bp, le indico la dirección que he obtenido del puntero del programa numero 1.
De esta forma al hacer el strcpy procovando el bufer overflow, el programa 2 deberia retornar a la función del programa 1, pero no acabo de ver si es posible o no (por que no me funciona) . Los dos programas son muy simples y estan echos en C.
Gracias.
JCB
Valora esta pregunta


0