¿¡¼
#include ¡°dumpcode.h¡±
int main(int argc, char *argv[])
{
char target[4] = ¡°DOG¡±;
char buffer[20] = {0, }; // 0À¸·Î ÃʱâÈ
if(argc < 2)
{
printf(¡°argument error\n¡±);
exit(-1);
}
// dumpcode·Î ¸Þ¸ð¸® ´ýÇÁ
dumpcode(buffer, 24);
printf(¡°[*] BEFORE : the value of target is %s\n\n¡±, target);
// ù ¹ø° ÀÎÀÚ·Î Àü´ÞµÈ ¹®ÀÚ¿À» buffer·Î º¹»ç
// ¿©±â¼ buffer overflow ¹ß»ý!
strcpy(buffer, argv[1]);
// dumpcode·Î ¸Þ¸ð¸® ´ýÇÁ
dumpcode(buffer, 24);
printf(¡°[*] AFTER : the value of target is %s\n¡±, target);
}
ÀÌ ¸ÞÀÎ ÇÔ¼ö¸¦ ½ÇÇà½ÃÅ°´Âµ¥
./ex2 aaaaaaaaa ÀÌ·±½ÄÀ¸·Î ÇÏ´õ¶ó±¸¿ä
ÀÎÀÚ°¡ 2°³Àε¥ ¿Ö Àú·¸°Ô Çϳª¸¸ ³Ö´Â°ÅÁÒ ? |