Hola,
he visto en posts antiguos del foro que publicaban retos entre los miembros y me ha parecido divertido.
Hice uno hace tiempo, bastante simple, la verdad, que me gustaria compartir, a ver quien lo logra .
Se trata de una simple entrada de datos, que imprime luego en pantalla la misma entrada. La idea es poder sobreescribir la pila para inyectar codigo, o al menos para producir un DoS. El codigo es:
Saludos.
he visto en posts antiguos del foro que publicaban retos entre los miembros y me ha parecido divertido.
Hice uno hace tiempo, bastante simple, la verdad, que me gustaria compartir, a ver quien lo logra .
Se trata de una simple entrada de datos, que imprime luego en pantalla la misma entrada. La idea es poder sobreescribir la pila para inyectar codigo, o al menos para producir un DoS. El codigo es:
Código (c) [Seleccionar]
#include <conio.h>
#include <stdio.h>
#define SIZE 10
int getsn(char *szBuffer, int n)
{
int c, i;
i=0;
while (i<n)
{
while (!kbhit ()); c=getch();
switch(c)
{
case '\b':
if(i>0)
{
i--;
putchar ('\b');
putchar (' ');
putchar ('\b');
}
break;
case '\r':
case '\n':
szBuffer[i]=0;
return i;
break;
default:
szBuffer[i++]=c;
putchar (c);
break;
}
}
szBuffer[n]=0;
return n;
}
int main()
{
char szBuffer[SIZE];
printf ("\r\nENTER FIXED (%d) DATA: ", SIZE);
getsn(szBuffer, SIZE);
printf ("\r\nDATA IS: %s", szBuffer);
printf ("\r\n");
getchar ();
return 0;
}
Saludos.