½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   suij403
   char ¸Þ¸ð¸® ÀúÀå Áú¹®ÀÔ´Ï´Ù.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1662 [º¹»ç]


´ëÇб³>½Ã½ºÅÛÇØÅ·> ¹öÆÛ¿À¹öÇ÷οì- ±âÃÊ
°­Á º¸°íÀÖ´Â ÄĸÍÀÔ´Ï´Ù.

°­Á¸¦ º¸¸é ¹öÆÛ¿À¹öÇ÷οì¶óÀÇ ¿ø¸®¸¦ ÀÍÈ÷´Â Â÷¿ø¿¡¼­
°£´ÜÇÑ ¹®Á¦¸¦ ³»°Åµç¿ä.
(¹®Á¦¿¡ ´ëÇÑ Áú¹®ÀÌ ¾Æ´Ï´Ï±î °¡º±°Ô ºÁÁÖ¼¼¿©)

#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);
}

ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ Àü´ÞÇÏ´Â ¹®ÀÚ¿­À» ÀÌ¿ëÇØ
CATÀÌ Ãâ·ÂµÇµµ·Ï Çϴ°ǵ¥

$ ./ex1 AAAAAAAAAAAAAAAAAAAACAT
0xbffffb10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0xbffffb20 00 00 00 00 44 4f 47 00 ....DOG.
[*] BEFORE : the value of target is DOG
0xbffffb10 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0xbffffb20 41 41 41 41 43 41 54 00 AAAACAT.
[*] AFTER : the value of target is CAT
$
´äÀº À̰Űí¿ä.


Á¦°¡ Áú¹®ÇÒ°Ç ¹®Á¦¿¡ °üÇÑ°Ô ¾Æ´Ï¶ó char ÇüÀÇ ¸Þ¸ð¸® ÀúÀ广½ÄÀε¥


ÀÌ ºÎºÐ µÚ¿¡ ³ª¿À´Â ½ºÅø޸𸮱¸Á¶ ¼³¸í º¸¸é
½ºÅÃÀº ´ÜÀ§°¡ 4¹ÙÀÌÆ®¶ó¼­ charÇü °°ÀÌ 4¹ÙÀÌÆ®º¸´Ù ÀûÀº ÀÚ·áÇüÀº
ºÎÁ·ÇÑ ºÎºÐÀº ±×³É ³ÀµÐ´Ù?°í ÇÏ´õ¶ó°í¿ä.

¿¹¸¦ µé¾î
char a=5¸é
[.. .. .. 05]
ÀÌ·¸°Ô¿ä  (..Àº ¾²·¹±â°ª)

±×·±µ¥ ´Ù½Ã ¾ÕºÎºÐ, ±×·¯´Ï±î À§ÀÇ ¹®Á¦¸¦ º¸¸é
char buf[20]À» ¼±¾ðÇߴµ¥
¸Þ¸ð¸®¿¡ ÀúÀåµÇÀÖ´Â »óÅ´Â
1¹ÙÀÌÆ®°¡ 20°³ ³ª¿­µÇÀÖ´Ü ¸»ÀÌ¿¡¿ä??  [00 00 00 00 00 00 .. 00]

½ºÅà ¸Þ¸ð¸® ¼³¸í¿¡ ³ª¿À´Â ´ë·Î¶ó¸é

char buf[20]={0} À̶ó°í ÇÞÀ»¶§
             buf[0]                     buf[1]                 buf[2]
0x...  [.. .. .. 00]               [.. .. .. 00]              [.. .. ..00]
                 ¡è½ÇÁ¦°ª                ¡è½ÇÁ¦°ª             ¡è½ÇÁ¦°ª
ÀÌ·¸°Ô ¸Þ¸ð¸®¸¦ º¸¸é 4¹ÙÀÌÆ®¸¦ Â÷ÁöÇØ¾ß Çϴ°Š¾Æ´Ñ°¡¿ä?
½ÇÁúÀûÀ¸·Î ¹è¿­ÀÇ ½ÇÁ¦ °ªÀº °¢ ¸ÇµÚ ¹ÙÀÌÆ®°í¿ä.
³ª¸ÓÁö´Â ±×³É ä¿öÁö´Â °ª.
À§¿¡ ¼³¸í¿¡ ³ª¿Â´ë·Î ¸»ÀÌÁÒ.


Á¦ Áú¹®Àº ÀÌ·¸½À´Ï´Ù.
ÀÌÇØ°¡ °¡½ÇÁö°¡ °ÆÁ¤ÀÔ´Ï´Ù.

ÀÌÇØ°¡ ¾È°¡´Â ºÎ´« ¸»ÇØÁֽøé
¼³¸íÇØµå¸®°Ù½À´Ï´Ù.


  Hit : 3960     Date : 2013/04/05 08:34



    
kumi123 4¹ÙÀÌÆ®Çü °°Àº °æ¿ì¿¡ 0x12345678 À̶ó°íÇϸé, ¸®Æ²¿¡µð¾ÈÀ¸·Î ÀÎÇØ ¸Þ¸ð¸®¿¡ 78 56 34 12 ·Î ÀúÀåÀ̵ǰí
2¹ÙÀÌÆ®ÇüÀº 0x1234 Àº 34 12 Áö¸¸
1¹ÙÀÌÆ®Çü °°Àº °æ¿ì¿¡´Â, ¹Ù²ð²¾ ¾ø¾î¼­ ±×³É 0x12 ¿¡¼­ 0x12·Î ±×´ë·Î ½á¿ä
2013/05/20