½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   hara0115
   ´ëÇб³ ·¹º§¿¡¼­ BOF ¹«ÀÓ½ÂÂ÷ ¹®Á¦

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


¹«ÀÓ½ÂÂ÷ ¹®Á¦ Àо°í ÀÌÇØ´Â ´Ù °¡´Âµ¥¿ä..

¿Ö ½ÇÇàÇϴϱî Àú´Â ºñ¹Ð¹øÈ£ Åë°ú°¡ ¾ÈµÇ´Â°ÅÁÒ?

password[20]¿¡¼­ password°¡ ¹è¿­ÀÇ ½ÃÀÛ ÁÖ¼Ò°í auth°¡ ±× ÁÖ¼Òº¸´Ù 20 ´õ Å« ÁÖ¼Ò¶ó¼­

20byteº¸´Ù Å« ¹®ÀÚ¿­ ÀÔ·ÂÇϸé authÀÇ °ªÀÌ 0ÀÌ ¾Æ´Ñ ´Ù¸¥ °ªÀ¸·Î º¯ÇϹǷÎ

ifÀý¿¡¼­ Åë°úÇϼ̽À´Ï´Ù ¶ß´Â°Çµ¥... Àú´Â ±×·¯ÄÉ ¾È³ª¿Í¿ä

¸ÆºÏ¾²°í Àִµ¥ ÀÎÁõ ½ÇÆÐ, Abort trap

ÀÌ·¯ÄÉ ¶ß³×¿ä.. ¹¹ ½¬¿î°Å±ä Çѵ¥ ¿Ö Á¦ ÄÄ¿¡¼± ÀÌ°Ô ¾ÈµÇ´ÂÁö??

´äº¯Á» ÇØÁÖ¼¼¿ä!!

  Hit : 4181     Date : 2011/01/11 08:09



    
ruka270 gcc°¡ 3.x´ë°¡ ¾Æ´Ï¶ó¼­ ±×·²Áöµµ...
ftz¿¡¼­ ½ÇÇèÇØº¸¼¼¿ä.
2011/01/11  
helloman Àú¹Ø¿¡ ¾î´ÀºÐÀÌ ¿Ã·ÁÁֽŠÄÚµå ±×°Å ¸»¾¸ÇϽô°Š°°Àºµ¥
passwordº¯¼ö´Â authº¯¼öº¸´Ù ³·Àº ÁÖ¼Ò¿¡ ÀÚ¸®Àâ°í ÀÖ¾î¿ä
½ºÅÃÀº ³ôÀº ÁÖ¼Ò¿¡¼­ ³·ÀºÁÖ¼Ò·Î µ¥ÀÌÅͰ¡½×À̰ŵç¿ä.
ÇÏÁö¸¸ ½ºÅó»¿¡ ¼±¾ðµÈ º¯¼ö¿µ¿ª¾È¿¡ µ¥ÀÌÅͰ¡ µé¾î°¥¶© ´Ù½Ã ³·À¸ÁÖ¼Ò¿¡¼­³ôÀºÁÖ¼Ò·Î
µé¾î°¡°ÔµÇ¾î ³ôÀºÁÖ¼Ò¿¡ ÀÚ¸®Àâ°í À̾´ ´Ù¸¥ º¯¼ö¿µ¿ªÀ» µ¤¾î¾²°Ô µÇ´Â °Ì´Ï´Ù.
À߸ø ÀÌÇØÇϽŠºÎºÐÀº ´Ù½Ã Á¤Á¤ÇÏ°í ³Ñ¾î°¡¼¼¿ë
2011/01/11  
helloman ´Ô ½Ã½ºÅÛ È¯°æÀÌ ¾î¶²Áö ¸ô¶ó ¿Ö±×·±Áö´Â È®ÀÎÀ» ÇØº¸±âÀü¿£ ¸ð¸£°Ú³×¿ä.
±×³ªÀú³ª ¿À¿ÀÀúµµ ¸ÆºÏ ½áº¸°í ½Í¾î¿ä...+_+
2011/01/11  
hara0115 Á¦°¡ ¸Þ¸ð¸® ÁÖ¼Ò¸¦ Ã¼Å©ÇØºÃ´Âµ¥¿ä

¹®Á¦°¡ auth°¡ passwordº¸´Ù ¸ÕÀú ¼±¾ð‰ç´Âµ¥µµ ³·Àº ¸Þ¸ð¸® ÁÖ¼Ò¸¦ °¡Áö°í Àֳ׿ä?

¿ÖÀÌ·¯ÁÒ?¤Ì¤Ì

¶Ç ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼­ char target[4]= "dog";¿Í char buffer[20] = {0, };ÀÌ·¸°Ô ¼±¾ðÇϰí ÃʱâÈ­ Çߴµ¥
targetÀÌ bufferº¸´Ù ´õ ³·Àº ÁÖ¼Ò¸¦ °¡Áö³×¿ä ¤Ì¤Ì ±Ùµ¥ ¶Ç char target[20] = "dog";ÀÌ·¸°Ô Çϸé
targetÀÌ ´õ ³ôÀº ÁÖ¼Ò¸¦ °¡Áö°í ¤Ì¤Ì

targetÀÌ Ç×»ó ³ôÀº ÁÖ¼Ò¸¦ °¡Á®¾ß Çϴµ¥ ¤Ì¤Ì char¹è¿­ÀÇ Å©±â¿¡ µû¶ó¼­ ¿Ö ÁÖ¼Ò°¡ bufferº¸´Ù ³·Àº °æ¿ìµµ »ý±â´ÂÁö ¤Ì

ÀÌ °ÍÁ» ÇØ°áÇØÁÖ¼¼¿ä!!
2011/01/11  
helloman Ȥ½Ã ¼³Ä¡ÇϽŠos¹öÁ¯ÀÌ ¾î¶»°Ô µÇ´ÂÁö ¾Ë¼ö ÀÖ°Ú½À´Ï±î?
µð¹ö±ëÇß´õ´Ï º¯¼ö ¼±¾ð ºÎºÐÀÌ
0x08048364 <main+28>: movl $0x1,0xfffffffc(%ebp)
0x0804836b <main+35>: mov 0x804842c,%eax
0x08048370 <main+40>: mov %eax,0xfffffff8(%ebp)
ÀÌ·± ½ºÅ¸ÀÏ·Î º¸ÀÌ´ø°¡¿ä?
a = 1, b = "aa" ÀÌ·¸°Ô ¼±¾ðÇϰí ÄÄÆÄÀÏÈÄ µð¹ö±ë ÇÑ ³»¿ëÀÔ´Ï´Ù.
0xfffffffc(%ebp) ÀÌ aº¯¼öÀ̰í
0xfffffff8(%ebp) ÀÌ bº¯¼öÀÔ´Ï´Ù.
µÚ¿¡ ºÙ¾îÀÖ´Â (%ebp)º¸À̽ÃÁÒ?
Àú°É ±âÁØÀ¸·Î º¸¿©ÁÖ°í ÀÖ´Â °Ì´Ï´Ù. ÀÚ µû¶óÇØ º¸¼¼¿ä.
(gdb) x $ebp+0xfffffffc
0xbff29f74: 0x0804837c
(gdb) x $ebp+0xfffffff8
0xbff29f70: 0x006cbca0

0xbff29f74 <--ÀÌ°Ô a , 0xbff29f70 <--¿ä°Ç b°¡ µÇ°Ú½À´Ï´Ù.
ÀÌÁ¦ a°¡ bº¸´Ù »óÀ§ÁÖ¼Ò¿¡ ÀÚ¸® Àâ°í ÀÖ´Ù´Â°É È®ÀÎ Çϼ̽À´Ï´Ù.


ÀÚ±×·³ ¸Þ¸ð¸®ÀÇ ±¸Á¶¸¦ È®ÀÎ ÇØº¸°Ú½À´Ï´Ù.
| TEXT | DATA | STACK |
low ----> ----> <---- high
¿ä·± ¹æÇâÀ¸·Î °¢¿µ¿ª¸¶´Ù µ¥ÀÌÅͰ¡ ½×À̰í ÀÖ½À´Ï´Ù.
ÀÚ ±×·³ º¯¼ö a,b¸¦ ¼±¾ðÇÏ°Ô µÇ¸é ½ºÅÿ¡´Â ÀÌ·± ¸ð¾çÀ¸·Î µ¥ÀÌÅͰ¡ ½×ÀÌ°Ô µË´Ï´Ù.
[ b ][ a ][ sfp ][ ret ]
low <-------------------- high
È­»ìÇ¥ ¹æÇâÀ¸·Î½ºÅÿ¡ °ªÀ» Áý¾î ³Ö°Ô µË´Ï´Ù.
ÇѰ¡Áö °æ¿ì¸¦ ´õÈ®ÀÎ ÇØº¾½Ã´Ù. À̹ø¿¡´Â bº¯¼ö¸¦ ¹è¿­·Î ¼±¾ðÇØº¸°Ú½À´Ï´Ù.
char a
char b[4]
[ b x 4 ][ a ][ sfp ][ ret ]
<--------------------------
bÀÇ Å©±â°¡ <---- ¹æÇâÀ¸·Î ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâÀ¸·Î ´Ã¾î³ª°Ô µË´Ï´Ù.
À̶§ b¿¡ "abcd"¶õ°ªÀ» ³Ö´Â´Ù¸é bº¯¼öÀÇ ¾Õ¿¡¼­ºÎÅÍ Çϳª¾¿ µé¾î°¡°ÚÁÒ
º¯¼ö b¿¡´Â ÀÌ·± È­»ìÇ¥ ¹æÇâÀ¸·Î °ªÀÌ µé¾î°©´Ï´Ù.
[a b c d ][ a ][ sfp ][ ret ]
------>
ÀÌ·¸°Ô ÇØ¼­ ³ôÀºÁÖ¼Ò¿¡ ÀÖ´Â º¯¼ö³ª sfp , ret°ªÀ» µ¤¾î½á¼­ ¿À¹öÇÃ·Î¿ì °ø°ÝÀ» ÇÒ ¼ö ÀÖ´Â °Å¿¡¿ä.
ÀÌÇØ µÇ½Ã³ª¿ä?
2011/01/12  
helloman ÀÌÇØ ÇϼÌÀ¸¸é ÂÊÁö¸¦ º¸³»ÁÖ¼¼¿ä °èÁ ¹øÈ£ º¸³»µå¸±ÅÂ´Ï ¾ç½É°Í ÀÔ±Ý ÇÏ½Ã¸é µË´Ï´Ù. 2011/01/12  
daydreamss helloman // Á¤¸» ÀÌÇØÇϱâ ÁÁ°Ô ¼³¸íÇϼ̳׿ä~! ¼³¸í ÀߺýÀ´Ï´Ù 2011/01/12  
daydreamss ±×·±µ¥ hara ´ÔÀÌ ¸»¾¸ÇÏ½Å°Ç ¿Ö ¹è¿­ ¼±¾ð ¹æ½Ä¿¡µû¶ó Áö¿ªº¯¼ö À§Ä¡°¡ ¹Ù²î³Ä´Â°ÍÀε¥
Àú°Ç ÄÄÆÄÀÏ·¯°¡ ÄÄÆÄÀÏÇÏ´Â ¹æ½Ä¶§¹®ÀÌ ¾Æ´Ò±î¿ä?

char buffer[20] = {0, };

ó·³ ¼±¾ðÇϸé ÄÄÆÄÀÏ·¯°¡ ÀÌ ¹è¿­ÀÌ ³ÑÄ¥Áöµµ ¸ð¸¥´Ù°í ÆÇ´ÜÇÏ¿©
ÀÓÀÇ·Î À§Ä¡¸¦ ¹Ù²Û°Í ¾Æ´Ò±î½Í³×¿ä
2011/01/12