[Áöµð³ÝÄÚ¸®¾Æ]ÃÖ±ÙÀÇ º¸¾È ȵδ ´ç¿¬ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ̶ó°í ÇÒ¼ö ÀÖ´Ù. º¸¾È °ü·Ã ÃֽŠ´º½º¸¦ ºÁµµ ´ëºÎºÐÀÌ Ãë¾àÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ÀÎÇØ ¾Ç¼º Äڵ尡 »ðÀÔµÈ »çÀÌÆ®°¡ ¹ß°ßµÇ¾ú´Ù´Â °Í°ú À¥À» ÅëÇÑ ÇØÅ· »ç°í°¡ ºó¹øÇØÁö°í ÀÖ´Ù´Â °ÍµéÀÌ´Ù. ¹æÈº®À» ºñ·ÔÇÏ¿© ´Ù¾çÇÑ º¸¾È ¼Ö·ç¼ÇÀÌ ´ëºÎºÐÀÇ °ø°ø±â°üÀ̳ª ±â¾÷¿¡ Àû¿ëµÈ »óȲ¿¡¼µµ ¿Ö ÀÌ·± º¸¾È »ç°íµéÀÌ ²ÙÁØÈ÷ µîÀåÇÏ´Â °ÍÀϱî. ±×°ÍÀº ±âº»ÀûÀ¸·Î ³×Æ®¿öÅ©³ª ¼¹öÀÇ ¹®Á¦°¡ ¾Æ´Ï¶ó Ãë¾àÇÏ°Ô ±¸ÇöµÈ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¶§¹®ÀÌ´Ù.
 |
| <±×¸² 1> ÇÔ¼ö strops()ÀÇ ¹®ÀÚ¿ ó¸® |
À̹ø È£¿¡ »ìÆìº¼ PHP-Nuke¿Í phpMyAdminÀÇ »ç·Êµµ ¸¶Âù°¡Áö´Ù. PHP-Nuke´Â À¥ Æ÷Å»°ú ¿Â¶óÀÎ Ä¿¹Â´ÏƼ ½Ã½ºÅÛÀ¸·Î, À¥ ±â¹ÝÀÇ °ü¸®, ¼³¹®Á¶»ç, Á¢±Ù Åë°è, »ç¿ëÀÚ ¸ÂÃã½Ä ¹Ú½º, µî·ÏµÈ »ç¿ëÀÚ¸¦ À§ÇÑ Å׸¶ ¸Å´ÏÀú, »ç¿ëÀÚ Ä£ÈÀûÀÎ °ü¸® GUI, ±Û °Ô½Ã, ÄÚ¸àÆ® ±â´É, °Ë»ö ¿£Áø µî ¸Å¿ì ´Ù¾çÇÑ ±â´ÉÀ» Á¦°øÇÑ´Ù. ¹°·Ð ´Ù±¹¾îµµ Áö¿øÇØ ±¹³»¿¡¼µµ ¸¹ÀÌ »ç¿ëÇϰí ÀÖÀ¸¸ç <ȸé 1>ó·³ PHP-Nuke À¥ »çÀÌÆ®(
www.phpnuke.org)¿Í À¯»çÇÑ »çÀÌÆ®¸¦ Á¾Á¾ º¼ ¼ö ÀÖ´Â °Íµµ ÀÌ ¶§¹®ÀÌ´Ù.
 |
| <ȸé 1> PHP-NUKE À¥ »çÀÌÆ® |
PHP-NukeÀÇ µð·ºÅ丮 À̵¿ Ãë¾àÁ¡
ÃÖ±Ù PHP-Nuke°ú °ü·ÃÇØ ¹ßÇ¥µÈ Ãë¾àÁ¡Àº »ó´ë°æ·Î(../)¸¦ ÀÌ¿ëÇØ ÁöÁ¤µÈ µð·ºÅ丮 ÀÌ»ó¿¡ Á¸ÀçÇÏ´Â ÆÄÀÏ¿¡ Á¢±ÙÇÏ´Â °ø°Ý±â¹ýÀÎ À̸¥¹Ù¡®µð·ºÅ丮 À̵¿(Directory Traversal)¡¯Ãë¾àÁ¡ÀÌ´Ù. À̰ÍÀº sp3x°¡ Áö³ 10¿ù 19ÀÏ¿¡ ¹ßÇ¥ÇÑ °ÍÀ¸·Î PHPNuke 7.8~7.9 + patch 3.1±îÁö ¿µÇâÀ» ¹Þ´Â´Ù.
ÀÌ Ãë¾àÁ¡Àº PHP¿¡¼ Áö¿øÇϰí ÀÖ´Â ¿É¼ÇÀÎ magic_quotes_gpcÀÇ È°¼ºÈ ¿©ºÎ¿¡ µû¶ó °ø°Ý¹ýÀÌ ´Þ¶óÁö´Âµ¥ PHP ȯ°æ ¼³Á¤(php.ini)¿¡¼ magic_quotes_gpc°¡ ºñȰ¼ºÈ µÇ¾î ÀÖÀ» °æ¿ì ¹®Á¦°¡ µÇ´Â ºÎºÐÀº modules.php¶ó´Â ´ÙÀ½ ºÎºÐÀÌ´Ù.
if (!isset($file) OR $file != $_REQUEST[¡®file¡¯]) $file=¡°index¡±;
if (stripos_clone($file,¡°..¡±) OR stripos_clone($mop,¡°..¡±)) die(¡°You are so cool...¡±);
¿©±â¼ stripos_clone() ÇÔ¼ö´Â º¯¼ö $file°ú $mop¿¡ µð·ºÅ丮 À̵¿ °ø°ÝÀÌ ½ÃµµµÇ´Â °ÍÀ» ŽÁöÇÏ°í ¹æ¾îÇϱâ À§ÇÑ °ÍÀÌ´Ù. PHP5¿¡¼´Â ÇÔ¼ö stripos()¸¦ Áö¿øÇÏÁö¸¸ À̸¦ Áö¿øÇÏÁö ¾Ê´Â PHP4¿¡¼´Â ÇÔ¼ö strops()¸¦ ÀÌ¿ëÇØ ´ÙÀ½°ú °°ÀÌ ±¸ÇöÇϰí ÀÖ´Ù(ÇÔ¼ö strop()´Â ¹®ÀÚ¿ÀÌ Ã³À½ ³ªÅ¸³ª´Â À§Ä¡¸¦ ã´Â´Ù).
if(!function_exists(¡®stripos¡¯)) {
function stripos_clone($haystack, $needle, $offset=0) {
return strpos(strtoupper($haystack), strtoupper($needle), $offset);
}
} else {
// But when this is PHP5, we use the original function
function stripos_clone($haystack, $needle, $offset=0) {
return stripos($haystack, $needle, $offset=0);
}
}
ÀÌ¿Í °°Àº ±¸Çö ºÎºÐÀ» Á¾ÇÕÇØ ºÐ¼®Çغ¸¸é º¯¼ö $file¿¡ ¾ÇÀÇÀûÀÎ ÀÔ·Â °ªÀÎ »ó´ë°æ·Î¿¡ »ç¿ëµÇ´Â »óÀ§°æ·Î(..)°¡ ³ªÅ¸³¯ °æ¿ì À̸¦ ã¾Æ³»°í¡®You are so cool...¡¯À̶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÔÀ» ¾Ë ¼ö ÀÖ´Ù. °Ñº¸±â¿£ ÀüÇô º¸¾È Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏÁö ¾Ê´Â°Íó·³ º¸ÀÌÁö¸¸ Á¤»óÀûÀÎ µ¿ÀÛ ¿©ºÎ¸¦ È®ÀÎÇϱâ À§ÇØ $file ÀÎÀÚ¿¡¡®index/..¡¯¶ó´Â ¿äûÀ» ÇØº» °á°ú <ȸé 2>ó·³ ±¸ÇöµÈ ¿¡·¯ ¸Þ½ÃÁö°¡ Ãâ·ÂµÊÀ» ¾Ë ¼ö ÀÖ´Ù.
 |
| <ȸé 2> ¾ÇÀÇÀûÀÎ ¿äû¿¡ Á¤»óÀûÀÎ ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·Â |
¿©±â¼ ¿ì¸®°¡ °£°úÇÑ Á¡ÀÌ ÇÑ °¡Áö Àִµ¥ ¹Ù·Î ÇÔ¼ö strpos() ¹Ýȯ °ªÀÇ ÇãÁ¡ÀÌ´Ù. ´ÙÀ½ PHP ¸Å´º¾ó¿¡ »ó¼¼ÇÏ°Ô ¼³¸íµÈ °Íó·³ ÇÔ¼ö strops()´Â ã°íÀÚ ÇÏ´Â ¹®ÀÚ¿À» ã°Ô µÇ¸é ÇØ´ç ¹®ÀÚ¿ÀÌ ½ÃÀÛÇÏ´Â À§Ä¡(offset)¸¦ ¹ÝȯÇÏ°Ô µÈ´Ù.
int strpos (string haystack, string needle, [int offset])
haystack ¹®ÀÚ¿¿¡¼ needleÀÌ Ã³À½ ³ªÅ¸³ª´Â ¼ö À§Ä¡¸¦ ¹ÝȯÇÑ´Ù. strrpos()¿Í ´Þ¸® ÀÌ ÇÔ¼ö´Â needle ÀÎÀÚ·Î ¿ÏÀüÇÑ ¹®ÀÚ¿À» ¹Þ¾Æ¼ Àüü ¹®ÀÚ¿À» »ç¿ëÇÑ´Ù. needleÀ» ¹ß°ßÇÏÁö ¸øÇϸé strpos()´Â boolean FALSE¸¦ ¹ÝȯÇÑ´Ù.
¹Ù·Î ¿©±â¼ Ãë¾àÁ¡ÀÌ ¹ß»ýÇϴµ¥ ¿¹¸¦ µé¾î¡®index/..¡¯¿Í °°Àº ÀԷ¿¡¼´Â offset °ªÀ¸·Î¡®6¡¯À» ¹ÝȯÇϰÚÁö¸¸¡®../../¡¯¿Í °°ÀÌ Ã³À½ºÎÅÍ »ó´ë°æ·Î·Î ½ÃÀÛÇÏ´Â ÀԷ¿¡ ´ëÇØ¼´Â offset °ªÀ¸·Î ¡®0¡¯À» ¹ÝȯÇϰí ÀÌ´Â °ÅÁþ(false)À» ÀǹÌÇϱ⠶§¹®¿¡ modules.phpÀÇ ºñ±³¹®¿¡¼ ¿¡·¯ ¸Þ½ÃÁö ´ë½Å Á¤»óÀûÀÎ ½ÇÇàÀ¸·Î 󸮵Ǵ °ÍÀÌ´Ù.
µû¶ó¼ °ø°ÝÀÚ°¡¡®../../../../../etc/passwd%00¡¯¿Í °°Àº »ó´ë°æ·Î¸¦ »ðÀÔÇßÀ» °æ¿ì ÀÌ´Â ¾ÇÀÇÀûÀÎ ÀԷ¿¡ ´ëÇÑ °ËÁõÀ» ¿ìȸÇÏ°Ô µÇ°í ½Ã½ºÅÛÀÇ ÁÖ¿ä ÆÄÀÏÀ» ³ëÃâ½Ãų ¼ö ÀÖ´Â °ÍÀÌ´Ù. %00Àº NULLÀ» ÀǹÌÇÏ´Â °ÍÀ¸·Î ¹®ÀÚ¿ÀÇ ³¡À» ³ªÅ¸³»°í µÚ¿¡ µû¶ó¿À´Â ¹®ÀÚ¿µéÀÌ ¹«½ÃµÈ´Ù.
ÀÌ Ãë¾àÁ¡À» ¹ß°ßÇÑ »ç¶÷Àº <ȸé 3>°ú °°ÀÌ Perl·Î ±¸¼ºµÈ °£´ÜÇÑ Ãë¾àÁ¡ °ø°Ý ½ºÅ©¸³Æ®¸¦ °ø°³Çß´Ù. Perl·Î ±¸ÇöµÈ ¼Ò½ºÄڵ忡 ½ÇÇà ±ÇÇÑÀ» ºÎ¿©ÇÏ°í °ø°Ý ´ë»ó°ú PHP-Nuke°¡ ¼³Ä¡µÇ¾î ÀÖ´Â URL, ÀÓÀÇÀÇ ¸ðµâ¸í, ±×¸®°í ¿¶÷ÇϰíÀÚ ÇÏ´Â ÆÄÀϸíÀ» »ó´ë°æ·Î¿Í ÇÔ²² ¿äûÇϸé <ȸé 4>¿Í /etc/passwd¿Í °°Àº ½Ã½ºÅÛÀÇ ÁÖ¿ä ÆÄÀÏÀ» °£´ÜÇÏ°Ô ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.
 |
| <ȸé 3> Perl·Î ±¸ÇöµÈ °ø°Ý ÄÚµåÀÇ ÀϺΠ|
 |
| <ȸé 4> Perl ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÑ °ø°Ý ¼º°ø |
ÇÑÆí PHP¿¡¼ Áö¿øÇÏ´Â º¸¾È ¿É¼ÇÀÎ magic_quotes_gpc°¡ Ȱ¼ºÈµÇ¾î ÀÖÀ» °æ¿ì¿¡´Â ¸ðµç phpBB ForumÀ» Æ÷ÇÔÇϰí ÀÖÁö ¾ÊÀº PHP-Nuke¿¡¼´Â ´ÙÀ½°ú °°Àº Ãë¾àÁ¡ÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. modules/Forums µð·ºÅ丮¿¡ extension.inc ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é º¯¼ö $phpEx¸¦ ÅëÇØ¼ ·ÎÄà ¼¹ö¿¡ Á¸ÀçÇÏ´Â ÀÓÀÇÀÇ ÆÄÀÏÀ» »ðÀÔÇÒ ¼ö ÀÖ´Ù.
http://victim/[nuke_dir]/modules.php?name=Search&file=../Forums/viewtopic&phpE
x=../../../../../../etc/passwd
phpMyAdminÀÇ º¸¾È Ãë¾àÁ¡
phpMyAdminÀº ¿©·¯ °³ÀÇ MySQL ¼¹ö¸¦ ÇϳªÀÇ °ü¸® ÀÎÅÍÆäÀ̽º·Î °ü¸®ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÖ´Â PHP ¾ÖÇø®ÄÉÀ̼ÇÀÌ´Ù. Maksymilian Arciemowicz´Â Áö³ 10¿ù 10ÀÏ¿¡ phpMy AdminÀÇ ¹öÀü 2.6.4-pl1¿¡ ´ëÇÑ º¸¾È Ãë¾àÁ¡À» ¹ßÇ¥Çߴµ¥ ÀÌ´Â ¾Õ¼ ¼³¸íÇÑ PHP-Nuke¿Í µ¿ÀÏÇÑ µð·ºÅ丮 À̵¿ Ãë¾àÁ¡ÀÌ´Ù. ¹®Á¦°¡ µÇ´Â ºÎºÐÀº phpMyAdminÀÇ libraries µð·ºÅ丮¿¡ Á¸ÀçÇÏ´Â grab_globals.lib.php·Î °ü·Ã ¼Ò½º´Â ´ÙÀ½°ú °°´Ù.
if ( isset( $_POST[¡®redirect¡¯] )
&& $_POST[¡®redirect¡¯] != basename( $_SERVER[¡®PHP_SELF¡¯] ) ) {
$__redirect = $_POST[¡®redirect¡¯];
unset( $_POST[¡®redirect¡¯] );
} // end if ( isset( $_POST[¡®redirect¡¯] ) )
¡¦(»ý·«) ¡¦
if ( ! empty( $__redirect ) ) {
require(¡®./¡¯. $__redirect);
exit();
} // end if ( ! empty( $__redirect ) )
À̸¦ º¸¸é POST ¹æ½ÄÀ¸·Î Àü¼ÛµÈ º¯¼ö $redirectÀÇ ÀÔ·Â °ªÀ» ±×´ë·Î ¹Þ¾Æ $__redirect ÇÔ¼ö¿¡ ÀúÀåÇϰí À̸¦ ÀÌ¿ëÇØ ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ÀÓÀÇÀÇ ÆÄÀÏÀ» »ðÀÔÇϰí ÀÖ´Ù. ¹®Á¦´Â º¯¼ö $redirect¿¡ ´ëÇÑ ÀÔ·Â °ªÀ» °ËÁõÇÏÁö ¾Ê°í ÇÔ¼ö require()¸¦ ÀÌ¿ëÇØ ½Ã½ºÅÛ ÆÄÀÏÀ» »ðÀÔÇϱ⠶§¹®¿¡ »ó´ë°æ·Î(../)¸¦ ÀÌ¿ëÇÑ ÀÔ·Â °ª Á¶ÀÛÀ» ÅëÇØ¼ ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ¾î¶°ÇÑ ÆÄÀÏÀÌ¶óµµ Æ÷ÇÔÀÌ µÉ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. µû¶ó¼ °ø°ÝÀÚ´Â °£´ÜÇÑ Á¶ÀÛÀ» ÅëÇØ /etc/passwd ÆÄÀϰú °°Àº ½Ã½ºÅÛÀÇ ÁÖ¿ä ÆÄÀÏÀ» ±×´ë·Î ȹµæÇÒ ¼ö ÀÖ´Ù.
 |
| <ȸé 5> MySQL °ü¸®ÀÇ ÆíÀǸ¦ Á¦°øÇÏ´Â phpMyAdmin |
ÀÌ Ãë¾àÁ¡¿¡ ´ëÇØ¼µµ <ȸé 6>°ú °°ÀÌ Perl·Î ±¸ÇöµÈ °ø°ÝÄڵ尡 °ø°³µÆ´Ù. phpMyAdmin °ø°ÝÄÚµå´Â PHP-NukeÀÇ °ø°ÝÄÚµå¿Í ¸¶Âù°¡Áö·Î °ø°Ý ´ë»ó°ú ÇØ´ç ¾ÖÇø®ÄÉÀ̼ÇÀÌ Á¸ÀçÇÏ´Â URL À§Ä¡ ±×¸®°í °ø°ÝÀÚ°¡ ȹµæÇϰíÀÚ ÇÏ´Â ÆÄÀÏÀ» »ó´ë °æ·Î¿Í ÇÔ²² ¿äûÇϱ⸸ Çϸé ÀÚµ¿ÀûÀ¸·Î ÀÌ·ç¾îÁö°í ÇØ´ç ÆÄÀÏÀ» ȹµæÇÒ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´Ù.
 |
| <ȸé 6> phpMyAdminÀÇ Ãë¾àÁ¡ °ø°Ý ÄÚµå |
»ç¿ëÀÚ ÀÔ·Â °ªÀ» °ËÁõÇ϶ó
Áö±Ý±îÁö PHP-Nuke¿Í phpMyAdmin¿¡¼ ¹ß»ýÇÑ µð·ºÅ丮 À̵¿ Ãë¾àÁ¡¿¡ ´ëÇØ »ìÆìº¸¾Ò´Ù. Ãë¾àÁ¡ÀÌ ¹ß»ýÇÏ´Â ºÎºÐÀº ´Ù¸£Áö¸¸ ¹ß»ý ¿øÀÎÀº °øÅëÀûÀÓÀ» ¾Ë ¼ö ÀÖ´Ù. Áï »ç¿ëÀڷκÎÅÍ Àü¼ÛµÅ ¿À´Â ÀÔ·Â °ªÀ» ÀûÀýÇÏ°Ô °ËÁõÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. PHP-NukeÀÇ °æ¿ì ÇÔ¼ö strpos()¸¦ ÀÌ¿ëÇØ °ø°Ý ¡Èĸ¦ Â÷´ÜÇÏ´Â °úÁ¤¿¡¼ ¹®ÀÚ¿ÀÇ Ã³À½¿¡ »ó´ë°æ·Î°¡ ÀÔ·ÂµÉ ¼ö ÀÖ´Ù´Â °Í°ú ÇÔ¼ö strops()ÀÇ ¹Ýȯ °ª¿¡ ´ëÇÑ °ËÁõÀÌ ÃæºÐÄ¡ ¾Ê¾Ò±â ¶§¹®¿¡ ¹ß»ýÇÏ´Â °ÍÀ̰í phpMyAdminÀº º¯¼ö $redirect¿¡ »ó´ë°æ·Î¿Í °°Àº ¾ÇÀÇÀûÀÎ ¿äûÀÌ ÀÔ·ÂµÉ ¼ö ÀÖ´Ù´Â ¿¹»óÀ» ÇÏÁö ¸øÇ߱⠶§¹®À̾ú´Ù.
 |
| <ȸé 7> PHP-Nuke remote command °ø°Ý ÄÚµå |
Ãß°¡ÀûÀ¸·Î 10¿ù 23ÀÏ ¹ßÇ¥µÈ PHP-NukeÀÇ Ãë¾àÁ¡Àº rod¿¡ ÀÇÇØ¼ °ø°ÝÄڵ尡 Á¦À۵ǾúÀ¸¸ç <ȸé 7>°ú °°ÀÌ Æí¸®ÇÑ(?) ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇϰí ÀÖ´Ù. ÀÌ Ãë¾àÁ¡Àº PHP ȯ°æ ¼³Á¤¿¡¼ magic_quotes_gpc°¡ ºñȰ¼ºÈµÇ¾î ÀÖÀ» ¶§ ¹ß»ýÇÏ´Â °ÍÀ¸·Î ¡®Your Account¡¯, ¡®Downloads¡¯, ¡®Web_links¡¯¸ðµâ¿¡¼ SQL ÀÎÁ§¼ÇÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù. Ãë¾àÁ¡À» Á¦°øÇÏ´Â º¯¼ö´Â Your Account ¸ðµâ¿¡¼´Â¡®username¡¯, Downloads ¸ðµâ¿¡¼´Â¡®url¡¯, Web_links ¸ðµâ¿¡¼´Â¡®description¡¯ÀÌ´Ù. ÇØ´ç º¯¼ö¿¡ ´ÙÀ½°ú °°Àº ¾ÇÀÇÀûÀÎ SQL ±¸¹®À» »ðÀÔÇÔÀ¸·Î½á °ø°ÝÀÚ´Â À¥ µð·ºÅ丮¿¡ shell.php¶ó´Â ¾Ç¼º ½ºÅ©¸³Æ®¸¦ »ý¼ºÇÒ ¼ö ÀÖ°í À̸¦ ÅëÇØ ½Ã½ºÅÛ ¸í·É¾î¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ȹµæÇÑ´Ù.
¡® UNION SELECT ¡®<?error_reporting(0);?>¡¯,0,0,0,0,0,0,0,¡¯<?echo ¡°Hi Master¡±;ini_set(
¡° max_execution_time¡±,0);system($_GET[cmd]);die;?>¡¯,0 INTO OUTFILE
¡®../../WWW/PHPNUKE/shell.php¡¯FROM nuke_users/*
ÀÌ·¯ÇÑ ¹®Á¦Á¡ÀÌ ¹ß»ýÇÏ´Â ´õ ±Ù¿øÀûÀÎ ÀÌÀ¯´Â °³¹ßÀÚ°¡ »ç¿ëÀڷκÎÅÍ ÀÔ·ÂµÇ¾î ¿À´Â °ªÀ» ÇÑÁ¤ÁþÁö ¾Ê±â ¶§¹®ÀÌ´Ù. »ç¿ëÀڷκÎÅÍ ÀÔ·ÂµÉ ¼ö ÀÖ´Â ¸ðµç ÀÔ·Â °ªÀÇ ÆÐÅÏÀ» ±ÔÁ¤Çϰí Á¤ÇØÁø ÆÐÅÏ¿¡ ´ëÇÑ ÀÔ·Â °ª¸¸À» Çã¿ëÇÑ´Ù¸é ÀÌ·± Ãë¾àÁ¡Àº Å©°Ô ÁÙÀÏ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¹Ì ±¹¹æ¼ºÀÇ Á¶»ç ÀÚ·á¿¡ ÀÇÇÏ¸é ¾ÖÇø®ÄÉÀÌ¼Ç ÄÚµå 1000¶óÀο¡´Â Æò±Õ 15°³ÀÇ º¸¾È Ãë¾àÁ¡ÀÌ Á¸ÀçÇϰí ÀÖ´Ù°í ÇÑ´Ù. ÀÌ·¯ÇÑ ±Ù¿øÀûÀÎ ¹®Á¦Á¡À» ÇØ°áÇϱâ À§ÇÑ ÃÖ¼±ÀÇ ´ë¾ÈÀº, º¸¾È Ãë¾àÁ¡ÀÌ ¹ß»ýÇÏ´Â ¿øÀΰú Ãë¾àÁ¡ÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Â ºÎºÐ¿¡ ´ëÇØ °³¹ßÀÚ ½º½º·Î »çÀü¿¡ ÀÎÁöÇϰí À̸¦ ¸·±â À§ÇÑ ³»¿ëÀ» ½ÇÁ¦ ÇÁ·Î±×·¡¹Ö °úÁ¤¿¡ ¹Ý¿µÇÏ´Â °ÍÀÌ´Ù. ¶ÇÇÑ PHP-Nuke¿Í phpMyAdminÀ» ºñ·ÔÇÏ¿© °ø°³ ¾ÖÇø®ÄÉÀ̼ÇÀ» »ç¿ëÇÏ´Â °³¹ßÀÚ´Â Ç×»ó ÀÚ½ÅÀÌ »ç¿ëÇϰí ÀÖ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ »õ·Î¿î ¼Ò½Ä¿¡ ±Í¸¦ ±â¿ïÀ̰í ÇØ´ç º¸¾È Ãë¾àÁ¡ÀÌ ³ª¿ÔÀ» ¶§ ¹ßºü¸¥ Á¶Ä¡¿Í ÇÔ²² ÆÐÄ¡¸¦ ¼öÇàÇÏ´Â Àû±Ø¼ºÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ¿ø°ÝÄÚµå »ðÀÔ Ãë¾àÁ¡ÀÇ °æ¿ì ¿úÀ¸·Î Á¦À۵ŠÀüÆÄµÉ °¡´É¼ºµµ ÀÖÀ¸¹Ç·Î »çÀü¿¡ ÇÇÇØ¸¦ ÃÖ¼ÒÈÇϱâ À§ÇÑ ³ë·ÂÀ» ¾Æ³¢Áö ¸»¾Æ¾ß ÇÑ´Ù.
½ÇÁ¦·Î À̹ø È£¿¡ »ìÆìº» PHP-Nuke¿Í phpMyAdminÀÇ º¸¾È Ãë¾àÁ¡ À̿ܿ¡ Áö³¹ø¿¡ ´Ù·ç¾ú´ø phpBB°¡ 2005³â 10¿ù 31ÀÏ¿¡µµ ¹öÀü 2.0.17 ÀÌÇÏ¿¡ ´ëÇØ »ç¿ëÀÚ Ãø¿¡¼ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ¼ö ÀÖ´Â Cross-Site Scripting Ãë¾àÁ¡°ú SQL ÀÎÁ§¼Ç Ãë¾àÁ¡, ±×¸®°í ¿ø°ÝÄÚµå »ðÀÔ Ãë¾àÁ¡ÀÌ »õ·Ó°Ô ¹ßÇ¥µÆ´Ù. À¯¸íÇÑ ¸¸Å À̸§ °ªÀ» Çϰí ÀÖ´Ù´Â »ý°¢ÀÌ µç´Ù. ÇöÀç °¡Àå ÃֽйöÀüÀÌ 2005³â 10¿ù 30ÀÏ ¹ßÇ¥µÈ ¹öÀü 2.0.18À̹ǷΠ»ç¿ëÀÚµéÀº ÃֽйöÀüÀ¸·Î ¾÷µ¥ÀÌÆ®ÇÏ±æ ¹Ù¶õ´Ù.@
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.