ȸ¿ø°¡ÀÔ(¼öÁ¤),°Ô½ÃÆÇ ±Û¾²±â(±Û¼öÁ¤)¿¡¼ÀÇ SQL Injection Ãë¾àÁ¡
°³¿ä
ÀÌ Ãë¾àÁ¡Àº ȸ¿ø °¡ÀÔ(¼öÁ¤)À» ó¸®ÇÏ´Â ÆÄÀÏÀÎ DBMysql(Mssql µîµî.).class.php ÆÄÀÏ¿¡¼ ¼ýÀÚÇü µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â ºÎºÐÀÇ ÇãÁ¡À» ÀÌ¿ëÇÏ¿© ÀϾ´Â Ãë¾àÁ¡ÀÌ´Ù.
¹ß»ý ¹öÀü
Xpress Engine 1.4.5.5 ¹öÀü ÀÌÇÏ ¸ðµç ¹öÀü
¹ß»ý ¿øÀÎ
$valueÀÇ ¼ýÀÚÇü º¯¼öÀÇ Á¶ÀÛÀÌ °¡´ÉÇÏ´Ù.
ºÐ¼®
/xe/classes/db/DBMysql.class.php ÆÄÀÏÀ» ¿¾î 441¹ø ¶óÀÎ ºÎ±ÙÀ» º¸¸é ´ÙÀ½°ú °°Àº ºÎºÐÀÌ ÀÖ´Ù.
/xe/classes/db/DBMysql.class.php ÆÄÀÏÀÇ 441¹ø ¶óÀÎ ºÎ±Ù
445¹ø ¶óÀο¡¼ º¯¼ö ŸÀÔÀÌ ¡®number¡¯ÀÏ °æ¿ì¿Í ¾Æ´Ò °æ¿ì°¡ µû·Î ³ª´µ°í ÀÖ´Ù. ¼ýÀÚ°¡ ¾Æ´Ò ¶§´Â ¡®addQuotes¡¯¶ó´Â ÇÔ¼ö·Î ÄõÅ͸¦ ºÙ¿©ÁÖ°í ÀÖ´Ù. ±×·¯³ª ¹®Á¦°¡ µÇ´Â ºÎºÐÀº 458¶óÀÎ ÀÌ´Ù. ¡®is_numeric¡¯ ÇÔ¼ö·Î ¼ýÀÚÇüÀÎÁö È®ÀÎÇÑ ÈÄ $value º¯¼ö¸¦ intÇüÀ¸·Î Çüº¯È¯ ÇÏ°í ÀÖ´Ù. °ø°ÝÀÚ°¡ ÀÌ°÷¿¡ ÄõÅ͸¦ ³ÖÀ¸¸é ¡®addQuotes¡¯¶ó´Â ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ ¿¡·¯°¡ ³¯ °ÍÀ̶õ °ÍÀ» ¿¹ÃøÇÒ ¼ö ÀÖ´Ù.
ȸ¿ø°¡ÀÔ(¼öÁ¤)ºÎºÐ¿¡¼ÀÇ Ãë¾àÁ¡ÀÌ ÀϾ´Â º¯¼ö´Â ¡®find_account_question¡¯ÀÌ´Ù. ÀÌ º¯¼ö´Â ºñ¹Ð¹øÈ£¸¦ ãÀ» ¶§ Áú¹® ¹æ½ÄÀ» ÀúÀåÇÏ´Â º¯¼öÀÌ´Ù. ´Ù¸¥ º¯¼öµéÀº ÀüºÎ Ãʱ⠰ªÀ» °¡Áö°í Àֱ⠶§¹®¿¡ °ªÀ» º¯Á¶ÇغÁµµ ÀÎÁ§¼ÇÀÌ ÀϾÁö ¾Ê´Â´Ù.
°á±¹ ±Ùº»ÀûÀÎ ¹®Á¦´Â º¯¼ö ÃʱâÈÀÌ´Ù. Xpress Engine¿¡¼´Â ¹«¾ù¶§¹®ÀÎÁö º¯¼ö¸¦ ÃʱâÈÇÏÁö ¾Ê°í ÀÖ´Ù. ¸¸¾à Ưº°ÇÑ ÀÌÀ¯·Î Ãʱâȸ¦ ÇÏÁö ¾Ê¾ÒÀ» °æ¿ì ¹®¼ ÃÖÇÏ´Ü ÆäÀÌÁöÀÇ ÀÖ´Â ÆÐÄ¡ ¹æ¹ýÀ¸·Î Çϸé ÆÐÄ¡°¡ µÉ °ÍÀÌ´Ù. Å×½ºÆ® ½Ã¿¡´Â Äõ¸®¸¦ Ãâ·ÂÇÏ´Â ¼Ò½º¸¦ Ãß°¡ÇÑ ÈÄ ½ÃµµÇß´Ù.
find_account_question º¯¼ö °ªÀ» Á¶ÀÛÇÏ´Â ºÎºÐ
find_account_question º¯¼ö °ª¿¡ ÄõÅ͸¦ ³ÖÀº ÈÄ Àü¼ÛÇØ º¸¾Ò´Ù. Àü¼ÛÇϸé Syntax¿¡·¯°¡ ¶ß´Â °ÍÀ» º¼ ¼ö°¡ ÀÖ´Ù. find_account_questionÀ» º¸¸é ÄõÅÍ°¡ ±×´ë·Î µé¾î°£ °ÍÀ» º¼ ¼ö°¡ ÀÖ´Ù.
°Ô½ÃÆÇ ¿¡¼ÀÇ Á¶ÀÛ °¡´ÉÇÑ º¯¼ö
readed_count, blamed_count, voted_count, comment_count, trackback_count,
uploaded_count, member_srl
(Áß°£ »ý·«¡¦)
°ø°Ý ½Ã¿¬ 1
ȸ¿ø°¡ÀÔ Äõ¸®¸¦ »ìÆ캸°Ú´Ù.
¡®is_admin¡¯À̶ó´Â Ä÷³Àº 21¹ø°¿¡ Á¸ÀçÇÑ´Ù. ¡®find_account_question¡¯ °ª¿¡ °ø°Ý Äڵ带 »ðÀÔÇغ¸¾Ò´Ù.
¡®find_account_question¡¯ÀÇ °ª µÚ¿¡ µ¥ÀÌÅ͵éÀº ÀÓÀÇÀÇ ¼ýÀÚ¸¦ ³Ö¾îÁØ ÈÄ ¡®is_admin¡¯ Ä÷³ ºÎºÐ¿¡´Â ¡®Y¡¯ °ªÀ» ³Ö¾î ÁÖ¾ú´Ù. ±×·¯¸é ¡®hkkiw0823¡¯¶ó´Â ¾ÆÀ̵ðÀÇ ±ÇÇÑÀº °ü¸®ÀÚ ±ÇÇÑÀ¸·Î º¯°æµÈ ä ȸ¿ø°¡ÀÔÀÌ µÈ´Ù.
°ø°Ý ½Ã¿¬ 2
´ÙÀ½À¸·Î °Ô½ÃÆÇ ±Û¾²±â Äõ¸®¸¦ »ìÆ캸°Ú´Ù.
¡®content¡¯À̶ó´Â Ä÷³Àº 10¹ø°¿¡ Á¸ÀçÇÑ´Ù. ¡®content¡¯ºÎºÐ¿¡ ¡®db.config.php¡¯ ÆÄÀÏÀÇ ³»¿ëÀ» »ðÀÔÇϱâ À§ÇØ ¡®readed_count¡¯°ª¿¡ ¾Æ·¡¿Í °°ÀÌ °ø°Ý Äڵ带 »ðÀÔÇÏ¿´´Ù.
¡®readed_count¡¯ Ä÷³ µÚ¿¡ °ªÀº ÀÓÀÇÀÇ ¼ýÀÚ¸¦ ³Ö¾îÁØ ÈÄ ¡®content¡¯ Ä÷³¿¡´Â ¡®db.config.php¡¯ ÆÄÀÏÀÇ ³»¿ëÀ» ³Ö¾î ÁÖ¾ú´Ù. ±×·¯¸é µ¥ÀÌÅͺ£À̽ºÀÇ À̸§°ú ÀÌÀ̵ð, ºñ¹Ð¹øÈ£¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù.
ÆÐÄ¡ ¹æ¹ý
À§¿¡¼ ¸»ÇßµíÀÌ XE°³¹ßÀÚ°¡ ¹«¾ù ¶§¹®¿¡ º¯¼ö Ãʱâȸ¦ ÇÏÁö ¾Ê¾Ò´ÂÁö´Â ¸ð¸£Áö¸¸ Ưº°ÇÑ ÀÌÀ¯°¡ ÀÖ¾î¼ Ãʱâȸ¦ ÇÏÁö ¾ÊÀº °ÍÀ̶ó¸é ÀÌ·¸°Ô ¼öÁ¤ÇØÁÖ¸é µÈ´Ù. (MYSQL »Ó¸¸ ¾Æ´Ï¶ó ´Ù¸¥ ÆÄÀϵ鵵 ÀÌ·¯ÇÑ Çü½ÄÀ¸·Î ÆÐÄ¡ ÇÏ¸é µÉ °ÍÀÌ´Ù. MSSQL¿¡´Â intÇü Ä÷³¿¡ ¹®ÀÚ°¡ µé¾î°¡¸é ¿À·ù°¡ ³¯ °Í °°Àºµ¥ ÀÌ ºÎºÐÀº µû·Î ÆÐÄ¡ ÇÏ¸é µÉ °Í °°´Ù.) °Ô½ÃÆÇ°ú ȸ¿øÆäÀÌÁö ¸»°íµµ insert ¹®À̳ª update ¹®À» ¾²´Â °÷ÀÌ Àֱ⠶§¹®¿¡ ±× ºÎºÐµµ µû·Î ÆÐÄ¡ ÇÏ¸é µÉ °Í °°´Ù.
ÀÌ ÆÐÄ¡ ¹æ½ÄÀº ÀÎÆ®ÇüÀÌ¶óµµ ÄõÅ͸¦ ºÙ¿© ÀÎÁ§¼ÇÀÌ ÀϾÁö ¾Ê°Ô ÇÏ´Â ÆÐÄ¡ÀÌ´Ù. Insert ºÎºÐ ¸»°íµµ update¹®¿¡¼µµ ÀÎÁ§¼ÇÀÌ °¡´ÉÇÏ´Ù. ÀÌ ºÎºÐµµ ÀÌ·¸°Ô ÆÐÄ¡ÇØÁÖ¸é µÈ´Ù.
[±Û_ °ÀÎ¿í ¼±¸°ÀÎÅͳݰíµîÇб³ & Sur3x5F Team 1Çгâ(hkkiw0823@naver.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(http://www.boannews.com/) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>