saeedIRHA
دوشنبه 20 شهریور 1385, 07:05 صبح
سلام دوستان،
من یک کده اسیب پذیر به Buffer Overrun نوشتم،و اون رو با GCC تحت Windows کمپایل کردم،
با وارد کردن 4+268 Junk تا یعنی با 272 کاراکتر میشه EIP رو overwrite کرد
#include <windows.h>
#include <string.h>
int main(int argc,char *argv[])
{
char buf[256];
strcpy(buf,argv[1]);
printf("You Entered: %s\n",buf);
return EXIT_SUCCESS;
}
حالا قرض:
داشتم کده اسیب پذیر رو Disassemble میکردم دیدم که براش 296 بایت Allocate شده
همون طور که تو عکس زیر میبینید،
حالا میخواستم دلیلشو از دوستان بپرسم؟؟؟؟
ممنون.
من یک کده اسیب پذیر به Buffer Overrun نوشتم،و اون رو با GCC تحت Windows کمپایل کردم،
با وارد کردن 4+268 Junk تا یعنی با 272 کاراکتر میشه EIP رو overwrite کرد
#include <windows.h>
#include <string.h>
int main(int argc,char *argv[])
{
char buf[256];
strcpy(buf,argv[1]);
printf("You Entered: %s\n",buf);
return EXIT_SUCCESS;
}
حالا قرض:
داشتم کده اسیب پذیر رو Disassemble میکردم دیدم که براش 296 بایت Allocate شده
همون طور که تو عکس زیر میبینید،
حالا میخواستم دلیلشو از دوستان بپرسم؟؟؟؟
ممنون.