Web Security Solution All Guide
Chapter 3. À¥ º¸¾È Àü¹®°¡ ³ëÇÏ¿ì ÈÉÃ帱â
ÀûÀýÇÑ º¸¾È´ëÃ¥ ¸¶·ÃÇؾß
2008³â 4¿ù ÃʺÎÅÍ Àü ¼¼°è 130¸¸°³ ÀÌ»óÀÇ À¥ »çÀÌÆ®¿¡ ¾Ç¼ºÄڵ带 À¯Æ÷ÇÏ´Â SQL-Injection°ø°Ý Äڵ尡 ¼û¾îÀÖ´Â °ÍÀÌ ¹àÇôÁ® ÃÖ±Ù °¡Àå Å« À̽´°¡ µÇ°í ÀÖ´Ù. ÇÏÁö¸¸ ¾ð·ÐÀ¸·ÎºÎÅÍ ¾Ë·ÁÁø °ÍÀº 4¿ùÀÌÁö¸¸ º¸¾ÈÀü¹®°¡µé »çÀÌ¿¡¼ À̽´°¡ µÈ °ÍÀº 2008³â 1¿ù ÃʺÎÅÍÀÌ´Ù. óÀ½ ¾Ë·ÁÁø °ÍÀº ¾ÆÆÄÄ¡ º¸¾È ¸ðµâÀÎ Mod Security ÇÁ·ÎÁ§Æ®ÀÇ ºí·Î±×¿¡ °ø°³µÇ¸é¼ºÎÅÍÀε¥ ¿ì¸®³ª¶óÀÇ ¸¹Àº »çÀÌÆ®µéÀÌ Áö±Ý ÇöÀçµµ °ø°ÝÀ» ¹Þ°í ÀÖ´Â ÁßÀÌ´Ù.
°ø°Ý ±â¹ýÀÇ ¸íĪÀº Mass SQL-InjectionÀ̶ó ºÒ¸®¿ì¸ç ±âÁ¸ÀÇ SQL-Injection ±â¹ýº¸´Ù È®ÀåµÈ °³³äÀÌ´Ù. Å©°Ô 2°¡Áö ¹æ½ÄÀ¸·Î °ø°ÝÀÌ µÇ¸ç °ø°Ý Äõ¸®ÀÇ ÀϺκÐÀ» HEXÀÎÄÚµùÇϰųª Àüü Äõ¸®¸¦ HEX ÀÎÄÚµùÇÏ¿© º¸¾ÈÀåºñ¿Í ÇÊÅ͸µ ¼³Á¤À» ¿ìȸÇÏ´Â ±â¹ýÀÌ´Ù.
Mass¶ó´Â ´Ü¾îÀÇ »çÀüÀûÀÎ Àǹ̴ ´ë·®ÀÇ, Áý´ÜÀ̶ó´Â ¶æÀ» °¡Áö°í ÀÖ´Ù. Áï, ÇÑ ¹øÀÇ °ø°ÝÀ¸·Î ´ë·®ÀÇ DB°ªÀÌ º¯Á¶°¡ µÇ¾î ÇØ´ç À¥ »çÀÌÆ®¿¡ Ä¡¸íÀûÀÎ ¾Ç¿µÇâÀ» ÁØ´Ù. DB°ª º¯Á¶ ½Ã ¾Ç¼º ½ºÅ©¸³Æ®¸¦ »ðÀÔÇÏ¿© ÀÌ¿ëÀÚµéÀÌ °¨¿°µÇ°Å³ª º¿ÀÌ ¼³Ä¡µÇ¾î DDoS°ø°Ý¿¡ Á»ºñÄÄÇ»ÅÍ·Î ÀÌ¿ëÀÌ °¡´ÉÇØÁø´Ù.
ÀÌ·¯ÇÑ Mass SQL-InjectionÀº IIS ȯ°æÀÇ MS-SQLÀ» »ç¿ë ÁßÀÎ ASP ±â¹Ý À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¸¸ ¹ß»ýÇÏ¸ç ¾ð·Ð¿¡¼ ¸î Â÷·Ê ÇÇÇØ »ç½ÇÀ» º¸µµÇϱ⵵ Çß´Ù. ÇÇÇظ¦ ´çÇÑ IISÀÇ ·Î±×¸¦ º¸¸é ´ÙÀ½°ú °°Àº ·Î±×°¡ ±â·ÏµÇ¾î ÀÖ´Ù.
°ø°Ý ÄÚµåÀÇ Áß°£ Áß°£ 00À» Á¦°ÅÇÏ°í ASCII ÄÚµå·Î µðÄÚµùÀ» Çغ¸¸é ;
´ÙÀ½°ú °°Àº SQL Äõ¸®°¡ ³ªÅ¸³´Ù. ÀÌ ±¸¹®Àº Å×ÀÌºí¿¡¼ Å×À̺íÀÇ SQL sysobject type U(User) ¸ðµç row¸¦ °¡Á®¿À´Â °ÍÀÌ´Ù. ¸ðµç Ä÷³À» varcher(8000)À¸·Î Çü½ÄÀ» ¹Ù²Ù°í Ä¿¼¸¦ È°¿ëÇÏ¿© °¢ ¿ÀºêÁ§Æ®¿¡ http://bannerupd.com/b.js »çÀÌÆ® ÁÖ¼Ò Äڵ带 Ãß°¡Çϵµ·Ï ¾÷µ¥ÀÌÆ® ¸í·ÉÀ» ½ÇÇà ½ÃÅ°´Â ÀϹÝÀûÀÎ ±¸¹®ÀÌ´Ù. ÀϹÝÀûÀÎ ±¸¹®¿¡¼ ÇöÀç´Â ¾à°£ º¯ÇüµÈ ÇüÅÂÀÇ °ø°ÝÄõ¸® »ðÀԽõµµµ ÀÌ·ç¾îÁö°í ÀÖ´Ù.
½ºÅ©¸³Æ® »ðÀÔ ºÎºÐ¿¡¼ ÀϹÝÀûÀÎ »ðÀÔÇüÅÂ¿Í ´Þ¶óÁø ºÎºÐÀº "></tile>ÀÌ Ãß°¡ µÈ´Ù.
±âÁ¸ <½ºÅ©¸³Æ® ....></½ºÅ©¸³Æ®>¿Í ´Ù¸¥ Á¡Àº ">Ãß°¡ ¸¸À¸·Î <input name="test" value=" ">°ú °°Àº °÷¿¡ testÀÇ °ªÀ¸·Î »ðÀÔ µÉ¶§ ±âÁ¸ ½ºÅ©¸³Æ®´Â ´ÜÁövalue °ªÀ¸·Î ½ºÅ©¸³Æ®°¡ ½ÇÇàÀÌ µÇÁö ¾ÊÁö¸¸ ">ÀÇ Ãß°¡·Î value °ªÀÌ Á¤»óÀûÀ¸·Î ´ÝÈ÷°í ½ºÅ©¸³Æ®°¡ »ðÀÔµÇ°Ô µÈ´Ù.
¹°·Ð ±× ¹ÛÀÇ °æ¿ì¿¡µµ "></title>ºÎºÐÀº ¹«½ÃµÇ°í ½ºÅ©¸³Æ®°¡ »ðÀÔµÇ°Ô µÈ´Ù. ´Ü¼øÈ÷ js ÆÄÀϸíÀ» ¹Ù²ã°¡¸é¼ À¥¼¿ ¾÷·Îµå ÇÏ´Â °Í°ú´Â ´Ù¸£°Ô ¸ðµç »ðÀԵǴ °÷¿¡¼ ½ºÅ©¸³Æ®°¡ ½ÇÇà °¡´ÉÇϵµ·Ï ÇÏ°Ô ¸¸µç ÆÐÅÏÀÌ´Ù. DB Å×À̺í Áß¿¡¼ TEXT ÇüÅ·ΠµÈ Ä÷³À» ã¾Æ¼ <½ºÅ©¸³Æ® src=http://s.see9.us/s.js></½ºÅ©¸³Æ®>¸¦ Ãß°¡ÇÑ´Ù. varchar ÇüÅÂÀÇ Ä÷³¿¡´Â <½ºÅ©¸³Æ® src=http://s.see9.s.js></½ºÅ©¸³Æ®>ÀÌ Ãß°¡µÇ¸ç ¹®Á¦´Â ¸ðµç Å×À̺íÀÇ Ä÷³¿¡ Àû¿ëÀÌ µÈ´Ù´Â °ÍÀÌ´Ù.
ÀÌ¿¡ ÇØ´çÇÏ´Â °ø°ÝÀ» »çÀü¿¡ ¹æÁöÇϱâ À§Çؼ´Â ¾Æ·¡¿Í °°Àº ´ëÃ¥ÀÌ ÇÊ¿äÇÏ´Ù.
1. µðŬ¸®¾î ±¸¹®À» ÀÌ¿ëÇÑ °ø°ÝÀ» Â÷´ÜÇϱâ À§Çؼ´Â À¥ ¼Ò½º»ó¿¡¼ Äõ¸®½ºÆ®¸µ¿¡ ´ëÇÑ ±æÀÌÁ¦ÇÑ Àû¿ëÀ» ÇØ¾ß ÇÑ´Ù. ´ëºÎºÐ ¼Ò½º ÀÛ¼º½Ã Äõ¸®½ºÆ®¸µ °ªÀÇ Á¦ÇÑÀ» Àû¿ëÇÏÁö ¾Ê´Â °æ¿ì°¡ ¸¹À½. µû¶ó¼ À¥ °³¹ßÀÚ¿Í »óÀÇÇÏ¿© Äõ¸®½ºÆ®¸µ ±æÀÌ °ª¿¡ ´ëÇÑ Á¦ÇÑÀ» Àû¿ë ±Ç°í
2. SQL-Injection Ãë¾àÁ¡ÀÌ ÀÖÀ¸¸é Áß¡¤Àå±â ´ëÃ¥À¸·Î ÀÌ¿¡ ´ëÇÑ ¼Ò½ºÄڵ忡 ¼öÁ¤ ±Ç°í
3. ÀԷµǴ ºÎºÐÀÇ ¹®ÀÚ¸¦ ¸ðµÎ Á¦ÇÑÇÏ¿© ¿¹»óµÇ´Â ¹®ÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ°¡ µé¾î¿À¸é ÇÊÅ͸µÇÏ´Â ¹æ¹ýÀ¸·Î ¼öÁ¤ ÇÊ¿ä
4. Á¤±âÀûÀÎ DB ¹× ½Ã½ºÅÛ ¹é¾÷ ÇÊ¿ä
¶ÇÇÑ µðŬ¸®¾î ±¸¹®À» ÀÌ¿ëÇÑ °ø°ÝÀ» Â÷´ÜÇϱâ À§Çؼ´Â À¥ ¼Ò½º»ó¿¡¼ Äõ¸®½ºÆ®¸µ¿¡ ´ëÇÑ ±æÀÌ Á¦ÇÑ Àû¿ëÀ» ÇØ¾ß ÇÑ´Ù. ´ëºÎºÐ ¼Ò½º ÀÛ¼º½Ã Äõ¸®½ºÆ®¸µ °ªÀÇ Á¦ÇÑÀ» Àû¿ëÇÏÁö ¾Ê´Â °æ¿ì°¡ ¸¹´Ù. µû¶ó¼ À¥ °³¹ßÀÚ¿Í »óÀÇÇÏ¿© Äõ¸®½ºÆ®¸µ ±æÀÌ °ª¿¡ ´ëÇÑ Á¦ÇÑÀ» Àû¿ëÇØ¾ß ÇÑ´Ù.
Reference-http://cafe.naver.com/securityplus.cafe funkyfor´ÔÀÇ mass SQL-Injection
<±Û¡¤ ¹ÚÁ¾¼º NSHC ¿¬±¸¿ø(jspark@nshc.net)>
[Á¤º¸º¸È£21c (info@boannews.com)]
<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>