|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1937 [º¹»ç]
ftz levvel11¹ø¿¡ ´ëÇÑ ±Ã±ÝÁòÀÌ ÀÖ¾î Áú¹®À» ÇÏ°Ô µÇ¾ú½À´Ï´Ù.
gdb¸¦ ÅëÇÏ¿© level11ÀÇ attackme¸¦ µð¹ö±ë ÇØº¸¸é
Dump of assembler code for function main:
0x08048470 <main+0>: push ebp
0x08048471 <main+1>: mov ebp,esp
0x08048473 <main+3>: sub esp,0x108
0x08048479 <main+9>: sub esp,0x8
0x0804847c <main+12>: push 0xc14
0x08048481 <main+17>: push 0xc14
0x08048486 <main+22>: call 0x804834c <setreuid>
0x0804848b <main+27>: add esp,0x10
0x0804848e <main+30>: sub esp,0x8
0x08048491 <main+33>: mov eax,DWORD PTR [ebp+12]
0x08048494 <main+36>: add eax,0x4
0x08048497 <main+39>: push DWORD PTR [eax]
0x08048499 <main+41>: lea eax,[ebp-264]
0x0804849f <main+47>: push eax
0x080484a0 <main+48>: call 0x804835c <strcpy>
0x080484a5 <main+53>: add esp,0x10
0x080484a8 <main+56>: sub esp,0xc
0x080484ab <main+59>: lea eax,[ebp-264]
0x080484b1 <main+65>: push eax
0x080484b2 <main+66>: call 0x804833c <printf>
0x080484b7 <main+71>: add esp,0x10
0x080484ba <main+74>: leave
0x080484bb <main+75>: ret
0x080484bc <main+76>: nop
0x080484bd <main+77>: nop
0x080484be <main+78>: nop
0x080484bf <main+79>: nop
End of assembler dump.
ÀÌ·¸°Ô ¶ß°Ô µÇ´Âµ¥, ¿©±â¼ ´Ù¸¥ »ç¶÷µéÀÇ ±ÛÀ» º¸¸é main+30ºÎºÐÀÌ SFP¿Í RET¸¦ °¢°¢ 4byte¸¸Å ¼±¾ðÇØ ÁØ´Ù°í ³ª¿ÍÀִµ¥ SFP¿Í RETÀÎÁö ¾î¶»°Ô ±¸ºÐÇÏ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.
±×¸®°í Á¦°¡ ¾Æ´Â Áö½ÄÀ¸·Î´Â ¸ðµç ÇÔ¼ö´Â »ç¿ëÇÒ ¶§ ret¸¦ ¼±¾ðÇÏ°í ½ÇÇàÇϴ°ÍÀ¸·Î ¾Ë°íÀִµ¥ ¿©±â¼ setreuid´Â ÇÊ¿äÇϰí strcpy´Â ±×·¸°Ô Áß¿äÇÏÁö ¾Ê¾Æ¼ strcpyÀÇ ret°ªÀ» ÀÌ¿ëÇØ¼ ½©À» Å»ÃëÇϴ°ǰ¡¿ä?
±×·¸´Ù¸é printf¿Í setreuid¿¡µµ SFP¿Í ret°ªÀÌ ¼±¾ðµÇ´Â°Ç°¡¿ä?
Áú¹® Á¤¸®
1. SFP¿Í RETÀÎÁö ¾Æ´Ï¸é ÀÏ¹Ý subÀÎÁö ±¸ºÐÇÏ´Â ¹æ¹ý
2. ¸ðµç ÇÔ¼ö¿¡ ret°ªÀÌ ÀÖ´ÂÁö ¾ø´ÂÁö
ÀÖ´Ù¸é printfÀÇ ret°ª¿¡¼µµ ½© Å»Ãë°¡ °¡´ÉÇÑÁö
°í¼ö´ÔµéÀÇ ´äº¯ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
|
Hit : 2482 Date : 2018/09/10 11:40
|