ÄÚ¸®¾ÆÈ£½ºÆÃ
|
|
|
|
|
±Ù¹«½Ã°£¿Ü¿¡
¹®ÀÇ»çÇ×Àº ¾Æ·¡ÀÇ1:1 »ó´ã¹®ÀǸ¦
ÀÌ¿ëÇϽñ⠹ٶø´Ï´Ù. |
|
|
|
|
|
|
|
|
ÀÛ¼ºÀÏ : 2008-11-24 Á¶È¸ : 542855 |
|
SQL Injection°ø°ÝÀ¸·Î ÀÎÇÑ ¾Ç¼ºÄÚµå »ðÀÔÇÇÇØ ÁÖÀÇ¿ä¸Á |
|
SQL Injection°ø°ÝÀ¸·Î ÀÎÇÑ È¨ÆäÀÌÁö ³» ¾Ç¼ºÄÚµå »ðÀÔÇÇÇØ ÁÖÀÇ¿ä¸Á
¡à °³¿ä
o ÃÖ±Ù Windows ±â¹Ý À¥»çÀÌÆ®¸¦ ´ë»óÀ¸·Î SQL Injection Ãë¾àÁ¡À» °ø°ÝÇÏ´Â
ÇØÅ·µµ±¸¸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º³»¿¡ ¾Ç¼ºÄڵ带 ´ë·®À¸·Î »ðÀÔÇÏ´Â »ç·Ê°¡
ºó¹øÈ÷ ¹ß»ýÇÏ°í ÀÖ¾î ȨÆäÀÌÁö °ü¸®ÀÚµéÀÇ °¢º°ÇÑ ÁÖÀÇ°¡ ¿ä±¸µÊ
¡Ø ÇØ´ç ÇØÅ·µµ±¸´Â ÀϺΠÀ¥ º¸¾È ÀåºñÀÇ º¸¾È±â´ÉÀ» ¿ìȸÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î
ÁÖÀÇ°¡ ÇÊ¿ä
¡à ÇÇÇØ Çö»ó
o ȨÆäÀÌÁö Ãʱâȸ鿡 Á¤Àû(Static)À¸·Î ¾Ç¼ºÄڵ尡 Àº´ÐµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó,
µ¥ÀÌÅͺ£À̽º ³» ¾Ç¼ºÄÚµå ¸µÅ©¸¦ »ðÀÔÇÔÀ¸·Î½á ÇØ´ç µ¥ÀÌÅͺ£À̽º¿Í ¿¬µ¿µÈ
°Ô½ÃÆÇ, »óÇ°Á¤º¸ µî À¥ ÆäÀÌÁö¿¡ ¾Ç¼ºÄڵ尡 µ¿Àû(Dynamic)À¸·Î »ðÀÔµÊ
¡à ¿øÀÎ
o °Ô½ÃÆÇÀ̳ª ȸ¿ø ÀÎÁõ µî À¥¼ºñ½º¿Í µ¥ÀÌÅͺ£À̽º°¡ ¿¬µ¿µÇ´Â ºÎºÐ¿¡¼ Àü´Þ
µÇ´Â ÀÎÀÚ°ª¿¡ ´ëÇÑ °ËÁõÀýÂ÷ ºÎÀç·Î ÀÎÇØ ¾ÇÀÇÀûÀÎ SQL ¸í·É¾î ÁÖÀÔÀÌ °¡´É
ÇÏ°Ô µÊ (SQL Injection Ãë¾àÁ¡)
o ƯÈ÷, ÃÖ±Ù¿¡´Â À¥ »çÀÌÆ®¸¦ ÅëÇØ À¯Æ÷µÇ´Â ¾Ç¼ºÄÚµå´Â ÄíÅ° µî HTTP Çì´õÁ¤º¸
¸¦ ÅëÇؼµµ »ðÀԵǰí ÀÖ°í, ÀϺΠÀ¥ º¸¾ÈÀåºñÀÇ º¸¾È±â´ÉÀ» ¿ìȸÇÒ ¼öµµ ÀÖÀ¸
¹Ç·Î °¢º°ÇÑ ÁÖÀÇ°¡ ÇÊ¿ä
¡à (ÇÇÇØ ¹ß»ý½Ã) º¹±¸¹æ¹ý
o µ¥ÀÌÅͺ£À̽º ¹é¾÷º» »ç¿ë
- µ¥ÀÌÅͺ£À̽º ¹é¾÷º»ÀÌ ÀÖÀ» °æ¿ì º¹±¸¿¡ È°¿ë
o ¾Ç¼ºÄڵ尡 »ðÀÔµÈ Å×À̺íÀ» ¸ðµÎ ã¾Æ SQL¸í·É¹®À¸·Î º¹±¸
- ¹Ýµå½Ã µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ/°³¹ßÀÚ¿Í ÃæºÐÈ÷ °ËÅäÇÑ ÈÄ¿¡ Àû¿ë ¿ä¸Á
- ÀÚ·áÇü º¯È¯ÀÌ ÇÊ¿ä ¾ø´Â °æ¿ì replaceÇÔ¼ö¸¸À¸·Î º¹±¸ °¡´É
Update [Å×À̺í¸í] set [Ä÷³¸í]=replace([Ä÷³¸í],'[»èÁ¦ÇÏ°íÀÚÇÏ´Â ¾Ç¼ºÄÚµå ¹®ÀÚ¿]','')
¿¹> Update freebbs set title=replace(title,'','')
- ÀÚ·áÇü º¯È¯ÀÌ ÇÊ¿äÇÑ °æ¿ì´Â castÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© º¹±¸
Update [Å×À̺í¸í] Set [Ä÷³¸í] = replace(cast([Ä÷³¸í] as varchar(8000)), '[»èÁ¦ÇÏ°íÀÚÇÏ´Â ¾Ç¼ºÄÚµå ¹®ÀÚ¿]', '')
¿¹> Update freebbs Set contents = replace(cast(contents as varchar(8000)), '', '')
¡Ø Ä÷³ÀÇ ÀÚ·áÇü(data type)ÀÌ ntext, image µîÀÎ °æ¿ì castÇÔ¼ö¸¦
»ç¿ëÇÏ¿© ÀÚ·áÇü º¯È¯ ÈÄ replace°¡´ÉÇÏÁö¸¸, replace¸¦ À§ÇÑ º¯¼ö
°ø°£(varchar(8000)) º¸´Ù Å« ÀÚ·áÀÇ °æ¿ì ÀÚ·á ¼Õ½ÇÀÌ ¹ß»ý ÇÒ ¼ö
ÀÖÀ¸¹Ç·Î ÁÖÀÇ ¿ä¸Á. MS SQL 2005 À̻󿡼´Â varchar(max)»ç¿ë °¡´É
- MS SQL ¼¹ö¿¡¼ »ç¿ëÇÏ´Â Å«°ª ÀÚ·áÇü ÂüÁ¶ ÀÚ·á
[1] Å« °ª ÀÚ·áÇü ¼³¸í:
http://msdn.microsoft.com/ko-kr/library/ms178158.aspx
[2] UPDATETEXT ¼³¸í:
http://msdn.microsoft.com/ko-kr/library/ms189466.aspx
¡à ¿¹¹æ´ëÃ¥
o ±Ùº»ÀûÀÎ ÇØ°áÀ» À§ÇØ ¸ðµç º¯¼ö°ª¿¡ À¯È¿°ª °ËÁõ ÀýÂ÷ Àû¿ë
o À¥»çÀÌÆ®¿¡¼ »ç¿ëÇÏ´Â DB±ÇÇÑÀÇ ÃÖ¼ÒÈ ¹× SA°èÁ¤ »ç¿ë Á¦ÇÑ µîÀÇ
SQL¼¹ö ÃÖÀûÈ
o À¥ º¸¾È ¼Ö·ç¼Ç µµÀÔ ¹× Á¤Ã¥ ÃÖÀûÈ
- MS URLscan °ü·Ã ÀÚ·á
[1] URLscan »ç¿ë¹æ¹ý: http://support.microsoft.com/kb/326444/ko
[2] URLscan ´Ù¿î·Îµå: http://www.microsoft.com/downloads/details.aspx?FamilyId=EE41818F-3363-4E24-9940-321603531989&displaylang=en
¡¡ ¡Ø URLscanÀº À¥¹æȺ®°ú À¯»çÇÏ¸ç ¼¹ö·Î Àü´ÞµÇ´Â °ªµéÀÇ ÇÊÅ͸µ ±â´ÉÀÌ Áö¿øµÊ
- °ø°³À¥¹æȺ® °ü·Ã ÀÚ·á
[1] »ç¿ëÀÚ Ä¿¹Â´ÏƼ:
www.securenet.or.kr > ¿¸°Áö½Ä > °ø°³À¥¹æȺ®Ä¿¹Â´ÏƼ
¡Ø WebKnight¿¡¼´Â Çì´õ¼³Á¤ÀÇ Injection°ø°Ý Â÷´ÜÀÌ ¼³Á¤µÇ¾î ÀÖ¾î¾ß Â÷´Ü °¡´ÉÇϸç,
¿ÀŽ¹ß»ýÀÌ ¿¹»óµÇ¹Ç·Î, Àû¿ë ÈÄ ÀÏÁ¤±â°£ ¸ð´ÏÅ͸µ ÇÊ¿ä
o À¥»çÀÌÆ® º¸¾È °È °¡À̵å
- À¥º¸¾È 4Á¾ °¡À̵å: www.KrCERT.or.krÁ¢¼Ó > À¥º¸¾È 4Á¾ °¡À̵å
o À¥»çÀÌÆ® Ãë¾àÁ¡ Á¡°Ë
- KISA ¹«·á À¥Ãë¾àÁ¡Á¡°Ë ¼ºñ½º http://webcheck.krcert.or.kr
¡¡ ¡Ø ºñ¿µ¸®´Üü ¶Ç´Â Áß¼Ò±â¾÷µîÀÇ Á¤º¸º¸È£Ãë¾à°èÃþ¸¸ ¼ºñ½º ´ë»óÀÓ
- MS ¼Ò½ºÄÚµå °Ë»ç µµ±¸:¡¡http://support.microsoft.com/default.aspx/kb/954476
- HP Á¡°Ë µµ±¸: http://www.communities.hp.com/securitysoftware/blogs/spilabs/archive/2008/06/23/finding-sql-injection-with-scrawlr.aspx
o MS SQL¼¹ö¿¡¼ sysobjects ¶Ç´Â syscolumns ±ÇÇÑÀ» Á¦°ÅÇÏ¿© ¾Ç¼ºÄÚµå »ðÀÔ
½ºÅ©¸³Æ® ½ÇÇàÀ» Â÷´ÜÇÒ ¼ö ÀÖÀ¸³ª, ¿î¿µ ȯ°æ¿¡ µû¶ó Àû¿ë È¿°ú¿¡ Â÷ÀÌ°¡ ÀÖÀ¸¹Ç·Î
ÃßÈÄ¿¡ ¹èÆ÷µÉ ±â¼ú¹®¼¿¡¼ ¾È³»¿¹Á¤
¡à Âü°í»çÀÌÆ®
[1] http://isc.sans.org/diary.html?storyid=3823
[2] http://isc.sans.org/diary.html?storyid=5092
[3] http://www.modsecurity.org/blog/archives/2008/01/sql_injection_a.html
[4] http://www.computerworld.com/action/article.do?command=viewArticleBasic&taxonomyId=16&articleId=9055858&intsrc=hm_topic
[5] http://www.trustedsource.org/blog/142/New-SQL-Injection-Attack-Infecting-Machines
[6] http://www.f-secure.com/weblog/archives/00001432.html
ÀÚ·á Ãâó : http://www.krcert.or.kr
|
|
|
|
|
|
|
|