http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_level&no=2575 [º¹»ç]
===============================================================================
>FSB(format string bug)¸¦ ÀÌ¿ëÇؼ dtors¿µ¿ª¿¡ ½©ÄÚµåÀÇ ÁÖ¼Ò¸¦ µ¤¾î¾´´Ù.. ¶ó°í ¾Ë°íÀÖ½À´Ï´Ù...
>
>Áú¹®1.
>dual5651@dualpage:/tmp$ objdump -h ./attack | grep dtors
>18 .dtors 00000008 08049664 08049664 00000664 2**2
>dual5651@dualpage:/tmp$
>Ŭ¸°¾÷ ÇÔ¼öÀÇ ÁÖ¼Ò´Â Àú ÁÖ¼Ò + 4¿¡ ÀÖÀ½À¸·Î, 0x8049668ºÎÅÍ µ¤¾î ¾²¸é µÉ °ÍÀÌ´Ù.
>
>¶ó´Â ÀڷḦ ÂüÁ¶ÇÏ¿©, clearÀÇ ±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ¾ú½À´Ï´Ù¸¸,
>"Ŭ¸°¾÷ ÇÔ¼ö" ÁÖ¼Ò°¡ ¹«¾ùÀ» ¶æÇϴ°ÍÀΰ¡¿ä?
>¿Ö objdump·Î ¾Ë¾Æ³½ dtorsÁÖÀÇ ÁÖ¼Ò¿¡ +4 ¸¦ Çϴ°ÍÀΰ¡¿ä?
>
>Áú¹®2.
>½© ÇÁ·ÒÇÁÆ® ¶ó°í Çϳª¿ä? ¾Æ¹«Æ°....
>ÀϺΠ·¹º§¿¡¼´Â
>sh-3.2# °ú °°ÀÌ ³ª¿À´Â ¹Ý¸é,
>¾Æ¹« Ç¥½Ã¾øÀÌ Ä¿¼¸¸ ±ôºýÀ̸ç, ÀÔ·ÂÀ» ±â´Ù¸®´Â Çö»óÀº
>¿Ö ±×·±°ÍÀΰ¡¿ä?
>
>Áú¹®3.
>level20ÀÇ ¹®Á¦¸¦,
>FSB Ãë¾à¼ºÀ» ÀÌ¿ëÇؼ, mainÀÇ RETÁÖ¼Ò¸¦ º¯°æÇÏ¿© clearÀÇ ±ÇÇÑÀ» ȹµæÇÏ´Â ¹æ¹ýÀº ¾ø³ª¿ä?
>(ÀÌ·¡Àú·¡ ½ÃµµÇغ¸¾ÒÀ¸³ª, RETÁÖ¼Ò¸¦ ¸íÈ®ÇÏ°Ô ¾Ë¾Æ³»´Â ¹æ¹ýÀ» ¸ô¶ó¼... ½ÇÆи¸ Ç߳׿ä...)
>gdb¸¦ ÅëÇØ, ~/attackme ÀÇ Á¤È®ÇÑ RETÁÖ¼Ò¸¦ È®ÀÎÇÏ´Â ¹æ¹ýµµ Á» ¾Ë°í½Í½À´Ï´Ù....
===============================================================================
´ä±Û.
Áú¹®1. ¸ðµç ½ÇÇà ÇÁ·Î±×·¥¾È¿¡´Â __do_global_dtors()¶ó´Â ÇÔ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ÇÔ¼ö´Â ¼Ò¸êÀڷμ dtors¼½¼Ç+4 ¹ø° ÀÖ´Â ¸Þ¸ð¸®ÁÖ¼Ò¿¡ 0ÀÌ ¾Æ´Ñ°ªÀÌ ÀÖÀ» °æ¿ì ÇÔ¼ö·Î ½ÇÇàÀ» ½Ãŵ´Ï´Ù.
ÇÁ·Î±×·¥ ÀÚü¿¡¼ ¼Ò¸êÀÚÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾ÊÀ» °æ¿ì dtros + 4¹ø° ¸Þ¸ð¸®°ªÀº 0ÀÌ ±âº»À¸·Î µÇ¾îÀÖ½À´Ï´Ù.
FSB·Î dtors+4¹ø° ÀÖ´Â °ªÀ» ½©ÄÚµå ÁÖ¼Ò·Î ¹Ù²Ü°æ¿ì ½ÇÇàÀÌ µÇ´Â ÀÌÀ¯°¡ À̰Ͷ§¹®ÀÔ´Ï´Ù.
Á÷Á¢ ´«À¸·Î º¸°í ½ÍÀ¸½Ç °æ¿ì
¾Æ¹« ½ÇÇà ÆÄÀÏÀ̳ª gdb·Î ½ÇÇàÇÑ ÈÄ
disas __do_global_dtors ¶ó°í Ãĺ¸½Ã¸é ¾Æ½Ç°Ì´Ï´Ù. ^^
Áú¹®2.
gets() scanf()°°Àº ÇÔ¼ö´Â Ç¥ÁØ ÀÔ·Â ÇÔ¼ö¶ó°í ºÎ¸¨´Ï´Ù.
ÀÌ ÇÔ¼ö°¡ ½ÇÇàÀÌ µÇ¸é »ç¿ëÀÚÀÇ ÀÔ·ÂÀÌ ÀÖÀ»¶§±îÁö ±â´Ù¸³´Ï´Ù.
(ÀÌ°ÍÀ» Blocking mode¶ó°í ÇÕ´Ï´Ù.)
±×·±µ¥ °ø°ÝÀ» ÇÏ´Â ÄÚµåÁß¿¡¼ Å°º¸µå·Î ÀÔ·ÂÀÌ ¾ÈµÇ´Â Äڵ带 ³Ö¾î¾ßÇÕ´Ï´Ù.
±×·³ ¾î¶»°Ô ³ÖÀ¸½Ç°Ì´Ï±î?
¾Æ¸¶ ÀÌ·±½ÄÀ¸·Î ³ÖÀ¸½Ç °Ì´Ï´Ù.
printf "\xc1\xff\xf0..." | ./vul
ÀÌ·¸°Ô ½ÇÇàÀ» Çϸé | (<= ÆÄÀÌÇÁ ¶ó°í ºÎ¸¨´Ï´Ù.) ¸¦ ÅëÇؼ printf·Î ½ÇÇàµÈ Ãâ·Â
Äڵ尡 Ãë¾à ÇÁ·Î±×·¥(./vul)·Î µé¾î°©´Ï´Ù.
±×·±µ¥ °ø°ÝÀ» ÇßÀ»½Ã Ãë¾à ÇÁ·Î±×·¥¿¡¼ ÀÚ½Ä ÇÁ·Î¼¼½º·Î ½©À» ¶ç¿ì´Âµ¥
´Ü¼øÈ÷ printf "...°ø°ÝÄÚµå..." | ./vul
ÀÌ·¸°Ô °ø°ÝÀ» ÇÒ°æ¿ì printfÀÇ °ø°ÝÄڵ尡 ./vulÀÇ ÀÔ·ÂÀ¸·Î µé¾î°£ ÈÄ
./vul¿¡¼ ÀÚ½Ä ÇÁ·Î¼¼½º·Î ½©ÀÌ ¶å´Ï´Ù. ÇÏÁö¸¸ À̶§ ½©ÀÌ ÀÔ·Â ¹Þ¾Æ¾ßÇÒ ÆÄÀÌÇÁ°¡
¾ø½À´Ï´Ù. ±×·¡¼ ´ÙÀ½°ú °°ÀÌ °ø°ÝÀ» ÇÕ´Ï´Ù.
printf ("...°ø°ÝÄÚµå...";cat) | ./vul
ÀÌ·¸°Ô ½ÇÇàÇÒ °æ¿ì printfÀÇ °ø°Ý Äڵ尡 ./vul·Î ÀÔ·ÂÀÌ µÇ°í ÀÚ½ÄÇÁ·Î¼¼½º·Î ½©ÀÌ ¶áÈÄ ´Ù½Ã catÀÌ ½ÇÇàÀÌ µÇ¸é¼ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ÆÄÀÌÇÁ¸¦ ÅëÇؼ °è¼Ó ÀÔ·ÂÇÒ¼ö ÀְԵǴ °ÍÀÔ´Ï´Ù.
º¹ÀâÇÏÁö¸¸ ²À ¾Æ¼Å¾ßÇÒ ³»¿ëÀÔ´Ï´Ù.
(ÆÄÀÌÇÁ¿¡ ´ëÇØ ¿¬±¸¸¦ Á¶±Ý¸¸ ÇÏ½Ã¸é µË´Ï´Ù.)
Áú¹®3.
¹æ¹ýÀº ÀÖ½À´Ï´Ù. ^^
ÀÏ´Ü ¾Æ¼Å¾ßÇÏ½Ã´Â°Ô ÀÖ½À´Ï´Ù.
gdb¿Í °°Àº µð¹ö±ë ÇÁ·Î±×·¥À» ÅëÇؼ retÁÖ¼Ò¸¦ ¾Ë¾Æ³»½Ã´Â ºÐµéÀÌ ¸¹À¸½ÇÅÙµ¥
gdbµµ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ±×·¡¼ ½©»óÅÂ¿Í stack ±¸Á¶°¡ ´Ù¸¨´Ï´Ù.
°¡²û retÁÖ¼Ò°¡ ÀÏÄ¡ÇÏ´Â °æ¿ìµµ ÀÖ±â´Â ÇÏÁö¸¸ ±×·± °æ¿ì´Â ÇÁ·Î±×·¥ ±¸Á¶¿¡ ÀÇÁ¸ÀûÀÔ´Ï´Ù.
·ÎÄà °ø°ÝÀÇ °æ¿ì gdb¿Í ½©»óÅÂÀÇ ½ºÅà ±¸Á¶¸¦ ÀÏÄ¡ÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
ȯ°æº¯¼ö ³»¿ëÀ» Á¶Á¤ÇÏ¿© °ªÀ» ¸ÂÃß´Â ¹æ¹ý°ú Æ÷¸ä ½ºÆ®¸µ ¹ö±×¸¦ ÀÌ¿ëÇؼ
stack»óÀÇ °ªÀ» üũÇÑ ÈÄ retÁÖ¼Ò¸¦ ÃßÃøÇؼ ¸ÂÃß´Â ¹æ¹ýÀÔ´Ï´Ù.
Á¦°¡ ·¹º§ 20À» ±úº»Áö 1³âÀüÀ̶ó¼ Æнº¿öµå¸¦ ¸ð¸¨´Ï´Ù.
·¹º§ 20Æнº¿öµå¸¦ ¾Ë·ÁÁֽøé Á¦°¡ Ç®À̵µ ¿Ã·Áµå¸®°Ú½À´Ï´Ù.
½Ã½ºÅÛ ÇØÅ· Áú¹®¿¡ ´äÇÏ´Â°Ô ¿À·£¸¸À̳׿ä ^^
¿½ÉÈ÷ ÇÏ´Â ¸ð½ÀÀÌ º¸±â ÁÁ½À´Ï´Ù. Áñ°Å¿î ÇÏ·ç µÇ¼¼¿ä~ |
Hit : 3130 Date : 2007/11/20 05:25
|