½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   khs790809
   ¹öÆÛ¿À¹öÇ÷οì

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



ÇÁ·Î±×·¥À» Â¥´Ùº¸¸é ¸Þ¸ð¸®¿¡ ÆÛ¹ö°¡ ³ÑÃÄ fault Æ®°¡µÈ´Ù.
ÀÌ‹š faultÀÇ À§Ä¡¿¡ ³»°¡¿øÇÏ´Â ¸í·É¾î¸¦ ³Ö´Â´Ù¸é ½Ã½ºÅÛÀ» °¡Áú¼öÀÕ´Ù
ÀÌ°Ô ¹öÆÛ¿À¹öÇ÷οìÀݾƿä
Áß¿äÇÑ°Ç ½ÇÁ¦¿ö°ÔÀÓÀ» Ç®‹š±îÁö ¹®Á¦ÀÔ´Ï´Ù.
1. ·¥¿¡ µ¥ÀÌÅͰ¡ ÀúÀåµÂ´Â ¹æ½ÄÀ̱ñÝÇÕ´Ï´Ù. (¸®Æ²¿£µð¾È,ºò¿£µð¾È)
2. ¹öÆÛ¸¦ ³ÑÄ¡°Ô ÇÒ·Á¸é ÇöÁ¦ Äڵ忡 ¹öÆÛ¸¦ ¸î°³¸¦ ³Ö¾î¾ß ³ÑÄ¡´ÂÁö¸¦¾Ë¾Æ¾ßÇÏÀݾƿä?
¹«ÀÛÁ¤ 10¸¸°³ 100¸¸°³ ³Ö¾î¼­ ³ÑÄ£´Ù´Â°Ç ¾Æ´Ï¶ó°í »ý°¢Çϴµ¥¿ä
3¹öÆÛÀÇ ³ÑÃijª´Â À§Ä¡¸¦ ¾Ë¾ÑÀ¸¸é ³ÑÄ¡±âÀûÀü¿¡ ½©Äڵ带 ³Ö´Âµ¥. ÀÌ ½©ÄÚµå´Â ¾î¶»°Ô Â¥´Â°ÅÁÒ?
½©Äڵ带 °£´ÜÈ÷Â¥ÁÖ´ÂÇÁ·Î±×·¥À̶ó´Â°Ô ¿¡±×½©À̸³ª¿ä? ±×·³ ¾î¶°ÇÑ Ãë¾àÁ¡¿¡¼­µµ ¿¹±×½©ÆÄÀϸ¸ °¡Áö°íÀÕÀ¸¸é
ÀûÀýÇÒ ½©Äڵ带 ½±°Ô ¸¸µé¾îÁÙ´ÂÀմ°ǰ¡¿ä?


¿äÁ¤µµ¸¸ ÀÌÇØÇÏ¸é º¸ÇÁ¿øÁ¤´ë ½ÃµµÇغ¼ÀڽۨÀÌ »ý±æ°Å°°½À´Ï´Ù..

°í¼ö´ÔµéÀº Á¶¾ðºÎʵ右´Ï´Ù.

  Hit : 3932     Date : 2014/01/31 08:52



    
cd80 Áú¹® À§¿¡ ¹öÆÛ¿À¹öÇ÷ο츦 Á¤ÀÇÇϽźκÐÀÌ ¾à°£ ¾Ö¸ÅÇѰͰ°¾Æ ´Ù½Ã ½áº¸ÀÚ¸é
¹öÆÛ¿À¹öÇ÷οì´Â ¸Þ¸ð¸®ÀÇ º¹»ç°¡ ÀϾ ¶§ º¹»çÇÑ µ¥ÀÌÅ͸¦ ½á³Ö´Â ¿µ¿ªÀ» ³Ñ¾î¼± Å©±âÀÇ µ¥ÀÌÅͰ¡ º¹»çµÉ°æ¿ì ÀϾ´Ï´Ù
½ºÅùöÆÛ¿À¹öÇ÷οìÀÇ °æ¿ì ½ºÅÿ¡ Á¸ÀçÇÏ´Â º¯¼öµéÀÇ µ¥ÀÌÅ͸¦ µ¤¾î¾º¿ì°Å³ª ¸®ÅϾîµå·¹½º¸¦ º¯Á¶ÇÒ ¼ö ÀÖ°í
¸®ÅϾîµå·¹½º¸¦ º¯Á¶ÇÔÀ¸·Î½á ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù
À̸¦ ÀÌ¿ëÇØ ÇöÀç ½ÇÇàµÇ°í ÀÖ´Â ÇÁ·Î±×·¥ÀÇ ±ÇÇÑÀ» ȹµæÇϴ°ÍÀ̱¸¿ä

ftz level11À» ¿¹·Î µé¾îº¸°Ú½À´Ï´Ù
int main(int argc, char **argv){
,,,,,,,,char buf[256];
,,,,,,,,strcpy(buf, argv[1]);
,,,,,,,,return 0;
}
ÀÌ ÇÁ·Î±×·¥ÀÇ ½ÇÇà±ÇÇÑÀ» Á¦¾îÇÒ ¼ö ÀÖ´Â ÀÌÀ¯´Â
strcpy¿¡ ÀÇÇØ buf¿¡ argv[1]ÀÌ Á¦ÇѾøÀÌ µ¥ÀÌÅͰ¡ µé¾î°¡
mainÇÔ¼ö¸¦ call ÇÒ¶§ ½ºÅÿ¡ µé¾î°£ ¸®ÅϾîµå·¹½º°¡ µ¤¾î¾º¿öÁö°í
mainÇÔ¼ö ¸¶Áö¸· ret¸í·É¿¡¼­ µ¤¾î¾º¿öÁø ¸®ÅϾîµå·¹½º°¡ eip·Î µé¾î°¡±â ¶§¹®ÀÔ´Ï´Ù
µû¶ó¼­ mainÇÔ¼öÀÇ ½ºÅÃÇÁ·¹ÀÓ ·¹À̾ƿôÀº ¾Æ·¡Ã³·³ »ý°å½À´Ï´Ù

ret
sfp
-------------- <- ebp
|,,,,,,,,,f,,,,,,,,,,|
|,,,,,,,,,u,,,,,,,,,|
|,,,,,,,,,b,,,,,,,,,|
-------------- <- esp

strcpy¿¡ ÀÇÇØ bufÀÇ Ã³À½ºÎÅÍ µ¥ÀÌÅͰ¡ µé¾î°¡°í
buf[256] + sfp[4] + ret[4] = 264¹ÙÀÌÆ®¸¦ argv[1]¿¡ ³Ö°ÔµÇ¸é
strcpy·Î buf[256]¿¡ 264¹ÙÀÌÆ®°¡ µé¾î°¡°Ô µÇ¾î ¸®ÅϾîµå·¹½º°¡ µ¤¾î¾º¿öÁö°ÔµË´Ï´Ù

1. ÇÁ·Î¼¼¼­ °è¿­¿¡ µû¶ó ´Ù¸£Áö¸¸ ÀÎÅÚ ÇÁ·Î¼¼¼­´Â ¸®Æ²¿£µð¾È ¹æ½ÄÀ» »ç¿ëÇÕ´Ï´Ù
2. ´ç¿¬ÇÑ ¸»ÀÌÁö¸¸ ¹öÆÛÀÇ Å©±â¸¦ ³Ñ¾î¼­´Â µ¥ÀÌÅ͸¦ ³Ö¾îÁÖ½Ã¸é µË´Ï´Ù
gdb µîÀ¸·Î È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù
3. ½©ÄÚµå´Â ½©À» ½ÇÇàÇÏ´Â ÄÚµå¶ó ÇØ¼­ ½©ÄÚµå¶ó ºÎ¸¨´Ï´Ù
º¸Åë ½Ã½ºÅÛÄÝÀ» ÀÌ¿ëÇϰí
¾î¼Àºí¸®¾î·Î ÀÛ¼ºÇϼŵµ µÇ°í C·Î ÀÛ¼ºÇؼ­ ¾µ¼öÀÖ´Â ÇüÅ·Π¸¸µå¼ÅµµµË´Ï´Ù
½©ÄÚµå ÀÛ¼ºÀº ¾î¼Àºí¸®¾î·Î ÇÏ½Ã´Â°Ô ´õ ÆíÇÕ´Ï´Ù

¿¡±×½©Àº ½©Äڵ带 ÀÛ¼ºÇØÁÖ´Â ÇÁ·Î±×·¥ÀÌ ¾Æ´Ï¶ó
ȯ°æº¯¼ö¿¡ ½©Äڵ带 ³Ö°í ȯ°æº¯¼ö»ó¿¡¼­ ½©Äڵ尡 À§Ä¡ÇÏ´Â ÁÖ¼Ò¸¦ ¾Ë·ÁÁÖ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù
2014/02/01  
khs790809 Ä£ÀýÇÑ ¼³¸í °¨»çµå¸®´Ï´Ù... ÇÁ¸°ÅÍ·Î »Ì¾Æ¼­ °Ô¼ÓÀоî¾ß°Ù¾î¿ä
Á¦°¡ ¾Ë°íÀÕ´ø ¹öÇÁ °¡ ½ºÅÿÀ¹öÇ÷¯¿ì ¿³±º¿ä.. »õ·Ð¿î°Íµµ ¾Ë¾Æ°©´Ï´Ù..»õÇØº¹¸¹À̹ÞÀ¸¼¼¿ä
2014/02/02  
kumi123 1. ·¥¿¡ µ¥ÀÌÅͰ¡ ÀúÀåµÂ´Â ¹æ½ÄÀ̱ñÝÇÕ´Ï´Ù. (¸®Æ²¿£µð¾È,ºò¿£µð¾È)
-> cpu¸¦ º¸¸é ¾Ë ¼ö ÀÖ½À´Ï´Ù... x86 ¾ÆÅ°ÅØÃĸ¦ ¾²¸é, ¸®Æ²¿¡µð¾È, IBM SPAC À» ¾²¸é ºò¿¡µð¾È

2. ¹öÆÛ¸¦ ³ÑÄ¡°Ô ÇÒ·Á¸é ÇöÁ¦ Äڵ忡 ¹öÆÛ¸¦ ¸î°³¸¦ ³Ö¾î¾ß ³ÑÄ¡´ÂÁö¸¦¾Ë¾Æ¾ßÇÏÀݾƿä?
¹«ÀÛÁ¤ 10¸¸°³ 100¸¸°³ ³Ö¾î¼­ ³ÑÄ£´Ù´Â°Ç ¾Æ´Ï¶ó°í »ý°¢Çϴµ¥¿ä
-> ¼¼±×¸ÕÆ® ÆÞ½º°¡ óÀ½¶ß´Â ºÎºÐÀÌ ret ÀÔ´Ï´Ù.

3¹öÆÛÀÇ ³ÑÃijª´Â À§Ä¡¸¦ ¾Ë¾ÑÀ¸¸é ³ÑÄ¡±âÀûÀü¿¡ ½©Äڵ带 ³Ö´Âµ¥. ÀÌ ½©ÄÚµå´Â ¾î¶»°Ô Â¥´Â°ÅÁÒ?
½©Äڵ带 °£´ÜÈ÷Â¥ÁÖ´ÂÇÁ·Î±×·¥À̶ó´Â°Ô ¿¡±×½©À̸³ª¿ä? ±×·³ ¾î¶°ÇÑ Ãë¾àÁ¡¿¡¼­µµ ¿¹±×½©ÆÄÀϸ¸ °¡Áö°íÀÕÀ¸¸é
ÀûÀýÇÒ ½©Äڵ带 ½±°Ô ¸¸µé¾îÁÙ´ÂÀմ°ǰ¡¿ä?
-> ¾î¼Àºí¸®¾î¶û ½Ã½ºÅÛÄÝ ±¸¼º¹æ¹ýÀ» ¾Ë¸é Â¥½Ç¼ö ÀÕ½À´Ï´Ù.
2014/02/03