Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Basurian

#1
Bugs y Exploits / Mi EIP no se machaca con AAAA's
29 Noviembre 2014, 12:41 PM
Buenas a todos,

tengo un script muy simple para practicar y pronto me surgen dudas  :huh::

#include <string.h>
#include <stdio.h>
void func(char *arg)
{
char nombre[32];
strcpy(nombre, arg);
printf("\nHas introducido: %s\n\n", nombre);
}
int main(int argc, char *argv[])
{
func(argv[1]);
printf("Fin del programa\n\n");
return 0;
}


y ejecutándolo con GDB para ver cuándo sobreescribo el EIP:

(gdb) run AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZ

Starting program: /home/basuri/prueba AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZ

Bienvenido a Linux Exploiting AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZ

Program received signal SIGSEGV, Segmentation fault.
0x0000000000400643 in func ()
(gdb)



Según la práctica, debería obtener una respuesta del tipo:

0x4c4c4c4c in func ()


Y no entiendo por qué me devuelve ese valor de memoria o por qué es tan largo.

Estoy practicando en un Ubuntu 14.04 64 bit sobre un Mac OS X 64 bit.

Estaría muy agradecido si alguien me echa una mano.

Saludos a todos.