½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   garbage0192
   BOF ¿øÁ¤´ë goblin(level 4) ´Ù½Ã ÇÑ ¹ø ´õ Áú¹®ÀÌ¿ä!!

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


¾È³çÇϼ¼¿ä. Ãʺ¸ÀÔ´Ï´Ù.
¾îÁ¦ ÀÌ ¹®Á¦¿¡ ´ëÇØ¼­ Áú¹®À» ¿Ã·È´Âµ¥ cd80´Ô²²¼­ Ä£ÀýÈ÷ °¡¸£ÃÄÁֽŠ´ö¿¡ ´Ù½Ã Ç® ¼ö ÀÖ¾ú½À´Ï´Ù.

±Ùµ¥ ÇÑ °¡Áö ´õ Àǹ®Á¡ÀÌ »ý°å½À´Ï´Ù.

¸®ÅÏ ¾îµå·¹½º¸¦ Á¦¿ÜÇϰí ä¿ö¾ßÇÒ ¸Þ¸ð¸® Å©±â°¡ 44¹ÙÀÌÆ®Àε¥ ½© Äڵ尡 27¹ÙÀÌÆ®ÀÎ °ü°è·Î ³ª¸ÓÁö 17¹ÙÀÌÆ®¸¦ ä¿ö¾ßÇϴµ¥¿ä. ÀÌ ¶§ Àú´Â NOPÀÎ \x90À¸·Î ä¿ü¾ú½À´Ï´Ù. (´Ù¸¥°É·Î´Â ¾È ÇØºÁ¼­ µÇ´ÂÁö ¸ð¸£°Ú³×¿ä)
±×·¡¼­ ½©ÄÚµå(27 ¹ÙÀÌÆ®) + NOP(17 ¹ÙÀÌÆ®) + RET(4 ¹ÙÀÌÆ®) ·Î ä¿ì´Ï±î Àß µÇ¾ú½À´Ï´Ù.
±Ùµ¥ ½©Äڵ带 ¹öÆÛ Á¦ÀÏ Ã³À½ÀÌ ¾Æ´Ñ Áß°£¿¡ ³ÖÀ¸¸é ¾î¶»°Ô µÉ±îÇÏ°í ½ÇÇèÀ» ÇØºÃ½À´Ï´Ù. ÃÑ 18¹ø ½ÇÇèÀ» Çß½À´Ï´Ù.

½ÇÇèÀº ½©Äڵ带 ¹öÆÛÀÇ Á¦ÀÏ Ã³À½ºÎÅÍ 1¹ÙÀÌÆ®¾¿ ¿Å°Ü¼­ ¹öÆÛ¸¦ ä¿ì´Â °ÍÀ̾ú´Âµ¥ °á°ú´Â ´ÙÀ½°ú °°¾Ò½À´Ï´Ù.

¾ÕÂÊ NOPÀÇ °³¼ö / °á°ú
0 / ¼º°ø
1 / ¼º°ø
2 / ¼º°ø
3 / ¼º°ø
4 / ¼º°ø
5 / ¼º°ø
6 / Segmentation fault
7 / Illegal instruction
8 / Segmentation fault
9 / Illegal instruction
10 / Segmentation fault
11 / Illegal instruction
12 / Segmentation fault
13 / Illegal instruction
14 / Segmentation fault
15 / Illegal instruction
16 / Segmentation fault
17 / Segmentation fault

¿Ö NOP°¡ ¾ÕÂÊ¿¡ ÀÖ´Â°Ô 5°³±îÁö´Â ±¦ÂúÀ»±î¿ä? ¶Ç ¿Ö 6°³ºÎÅÍ´Â ¾È µÉ±î¿ä?
±×¸®°í 6°³ ÀÌÈÄ·Î ¿¡·¯ ³ª´Â°Ô 17°³Â°´Â ´Ù¸£Áö¸¸ ¹º°¡ ±ÔÄ¢¼ºÀÌ Àִµ¥ Ȥ½Ã ¾Æ½Ã³ª¿ä?

¶Ç ¸Þ¸ð¸®¸¦ È®ÀÎÇÏ·Á°í gdbÀ» µ¹·È´Âµ¥ gdb¿¡¼­´Â main ÇÔ¼ö°¡ ³¡³ªÀÚ¸¶ÀÚ SIGTRAP ¹ß»ýÇß´Ù°í ¾ÈµÇ´õ±º¿ä. gdb »ó¿¡¼­´Â ±×·³ ÇÁ·Î±×·¥À» °ø°ÝÀ» ÇØ º¼ ¼ö ¾ø´Â°Ç°¡¿ä?
¾Æ ¶Ç Çϳª gdb¿¡ ÇÁ·Î±×·¥À» ¿Ã¸®°í ÇÏ´Ï±î ¹öÆÛ ÁÖ¼Ò°¡ °°Àº ÀÎÀÚ¸¦ ¹ÞÀ½¿¡µµ ºÒ±¸ÇÏ°í ´Ù¸£°Ô ³ª¿À´õ±º¿ä. ¿ø·¡ ±×·±°Ç°¡¿ä?

°¨»çÇÕ´Ï´Ù.

¾Æ ±×¸®°í cd80´Ô. Ȥ½Ã º¸½Å´Ù¸é, Àú¹ø Áú¹® ´ñ±Û¿¡ ÇÁ·Î±×·¥¸íÀÇ ±æÀÌ¿Í ½©ÄÚµåÀÇ À§Ä¡¿¡ ´ëÇÑ »ó°ü°ü°è¿¡ ´ëÇØ Áú¹®Çß¾ú´Âµ¥ Ȥ½Ã ´äÇØÁÙ ¼ö ÀÖ³ª¿ä?¤¾¤¾

  Hit : 4637     Date : 2013/04/05 11:03



    
cd80 Áú¹®ÇØÁֽг»¿ëÀº ±Ûº¸´Ù ±×¸²À¸·Î º¸½Ã´Â°Ô ÈξÀ ÀÌÇØ°¡ ½±½À´Ï´Ù
http://cd80.tistory.com/3
15~18ÂÊÀ» º¸½Ã¸é µË´Ï´Ù
¹®¼­¿¡¼­ ±× ÀÌ¿ÜÀÇ ³»¿ëÀº Ç®ÀÌÀÌ´Ï °øºÎÇÏ½Ç ¸ñÀûÀ¸·Î lob¸¦ Ç®°í °è½Å°Å¶ó¸é ¾Èº¸½Ã´Â°Ô ÁÁ½À´Ï´Ù


ÇÁ·Î±×·¥¸íÀÇ ±æÀ̰¡ ¸Þ¸ð¸®»ó ½©ÄÚµåÀÇ À§Ä¡¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ÀÌÀ¯´Â
¸Þ¸ð¸®ÀÇ ¸¶Áö¸·ºÎºÐ¿¡ ȯ°æº¯¼ö°¡ Á¸ÀçÇϴµ¥ ȯ°æº¯¼ö ¸Ç ¸¶Áö¸·ºÎºÐ¿¡ ÇÁ·Î±×·¥¸íµµ °°ÀÌ µé¾î°¡Àֱ⠶§¹®ÀÔ´Ï´Ù
[root@localhost /root]# gdb -q ./test
(gdb) b main
Breakpoint 1 at 0x80483d3
(gdb) r
Starting program: /root/./test

Breakpoint 1, 0x80483d3 in main ()
(gdb) x/s 0xbfffffff-500
0xbffffe0b: ""
(gdb)
0xbffffe0c: "LANG=en_US"
(gdb)
0xbffffe17: "OSTYPE=Linux"
(gdb)
0xbffffe24: "SHLVL=1"
(gdb)
0xbffffe2c: "LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01"...
(gdb)
0xbffffef4: ";32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;3"...
(gdb)
0xbfffffbc: "5:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"
(gdb)
0xbfffffef: "/root/./test"
(gdb)
2013/04/06  
garbage0192 //cd80
°¨»çÇÕ´Ï´Ù! °á±¹ Ǫ½Ã¸¦ »ç¿ëÇÏ´Â ½©ÄÚµå¿Í esp°¡ ³Ê¹« °¡±îÀÌ À־ ±×·¨´ø°Å±º¿ä! ¶Ç Çϳª ¹è¿ì°í °©´Ï´Ù.
2013/04/06  
garbage0192 ½©Äڵ忡¼­ esp°ªÀ» ¹Ù²Ù´Ï NOPÀ» ¾î¶»°Ô ³ÖµçÁö Àß µÇ³×¿ä! 2013/04/06