estaba practicando sobre exploits en linux
ya entendi como hacer una shell con asm y obtener los opcodes, para hacer la shellcode usando nasm y hexadump, estuve leyendo el tuto de Smashing The Stack For Fun And Profit tambien
ahorita estaba recordando unos post sobre eso y quise volver a intentarlo
antes no me salia ciertas cosas que ya comprendi...
ahora tengo un problema con GDB, cuando uso este codigo
Código:
#include <stdio.h>
#include <string.h>
int vuln (char *buff)
{
char buffer [36];
strcpy (buffer, buff);
}
int main (int argc, char *argv [])
{
vuln (argv [1]);
}
int feo ()
{
printf ("Eres feo!!!");
exit (0);
}
lo executo con gdb y coloco esto, en mi version debian le tuve que cambiar los nop's porque se necesitó mas
Código:
r $(perl -e 'print "\x90" x 23 . "B" x 25 . "XXXX"')
ahora me aparece esto correctamente
Código:
/vuln $(perl -e 'print "\x90" x 23 . "B" x 25 . "XXXX"')
Program received signal SIGSEGV, Segmentation fault.
0x58585858 in ?? ()
aqui supuestamente me deberia de aparecer algo asi usando un break en la funcion vuln
Código:
(gdb) br vuln
Breakpoint 1 at 0x804842a: file vuln.c, line 8.
(gdb) r AAA
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/juanra/Escritorio/Shell/vuln AAA
Breakpoint 1, vuln (buff=0xbffffb5f "AAA") at vuln.c:8
8 strcpy (buffer, buff);
pero a mi no me sale eso, de hecho no sale nada
Código:
(gdb) br vuln
Breakpoint 1 at 0x804845a
(gdb) r AAA
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/gazette/ejemplo_profit/exploit_foro/vuln AAA
Breakpoint 1, 0x0804845a in vuln ()
que podria estar saliendo mal, ya intente incluso usar el break con buff y buffer y tampoco
espero me puedan ayudar, porque apenas estoy tratando de entender como encontrar el RET para el exploit
salu2