porque al usar breakpoint con GDB no me aparece nada?[RESUELTO]

Iniciado por Belial & Grimoire, 13 Mayo 2012, 01:34 AM

0 Miembros y 1 Visitante están viendo este tema.

Belial & Grimoire

hola

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

#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

r $(perl -e 'print "\x90" x 23 . "B" x 25 . "XXXX"')

ahora me aparece esto correctamente

/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

(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

(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
.                                 

Ivanchuk

Hola,

Lo compilaste con informacion de debug?

$gcc -ggdb -fno-stack-protector vuln.c

Saludos
Sólo quien practica lo absurdo puede lograr lo imposible.

Join us @ http://foro.h-sec.org

Belial & Grimoire

a ya, si faltaba ggdb no me acordaba de ese comando, solo de las protecciones

--no-stack-protector -z execstack


gracias
.