°­ÁÂ

HOME > °­ÁÂ >
°­ÁÂ| ¸®´ª½º ¹× ¿ÀǼҽº¿¡ °ü·ÃµÈ °­Á¸¦ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
 
ȨÆäÀÌÁö°³¹ß º¸¾È°¡À̵å[2] - ȨÆäÀÌÁö °³¹ß½Ã º¸¾È Ãë¾àÁ¡ ¹× ´ëÃ¥°ú °á·Ð
Á¶È¸ : 27,342  


Á¦3Àå  È¨ÆäÀÌÁö °³¹ß½Ã º¸¾È Ãë¾àÁ¡ ¹× ´ëÃ¥

  ȨÆäÀÌÁö °³¹ß °úÁ¤¿¡¼­ ¹ß»ýµÉ ¼ö ÀÖ´Â º¸¾È Ãë¾àÁ¡Àº ´ë´ÜÈ÷ ´Ù¾çÇÏ´Ù. º» Àå¿¡¼­´Â °ø°ÝÀÚ°¡ °ø°Ý¿¡ ÁÖ·Î ¸¹ÀÌ ÀÌ¿ëÇϰí ȨÆäÀÌÁö °³¹ßÀÚ°¡ ¹üÇϱ⠽¬¿î ÁÖ¿ä º¸¾È Ãë¾àÁ¡ 10°¡Áö¸¦ ¼Ò°³ÇÑ´Ù. °¢ Ãë¾àÁ¡¿¡ ´ëÇÑ »ó¼¼ÇÑ ¼³¸í°ú ÀÌ Ãë¾àÁ¡¿¡ ´ëÇÑ º¸¾È ´ëÃ¥°ú ÇÁ·Î±×·¡¹Ö »ç·Ê¸¦ Á¦½ÃÇϵµ·Ï ÇϰڴÙ.


Á¦1Àý Á¢±ÙÅëÁ¦ Ãë¾àÁ¡

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä
  Á¢±ÙÅëÁ¦´Â ƯÁ¤ »ç¿ëÀڵ鿡°Ô¸¸ À¥ ÄÜÅÙÃ÷³ª ±â´Éµé¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï Çã°¡ÇØ ÁÖ´Â °ÍÀ¸·Î ÀϹÝÀûÀ¸·Î °ü¸®ÀÚ ÆäÀÌÁö¿¡ ´ëÇÑ Á¢±ÙÅëÁ¦°¡ ÇÊ¿äÇÏ´Ù.

  °ü¸®ÀÚ ÆäÀÌÁö´Â À¥ ¼­ºñ½ºÀÇ »ç¿ëÀÚ³ª µ¥ÀÌÅÍ, ÄÜÅÙÃ÷¸¦ ¼Õ½±°Ô °ü¸®Çϱâ À§ÇÑ ¸ñÀûÀ¸·Î ´Ù¾çÇÑ ±â´É°ú ±ÇÇÑÀ» °®°í ÀÖ°í À̴ ȨÆäÀÌÁöÀÇ ¿î¿µ¿¡ ¸Å¿ì Áß¿äÇÑ ¿ªÇÒÀ» Çϰí ÀÖÀ¸¹Ç·Î ÀϹݻç¿ëÀÚ´Â ÀÎÁõÀ» Åë°úÇÏÁö ¸øÇϵµ·Ï ÇÒ »Ó ¾Æ´Ï¶ó ÀϹݻç¿ëÀÚ°¡ °ü¸®ÀÚ ÆäÀÌÁö¸¦ º¼ ¼ö ¾øµµ·Ï ÇØ¾ß ÇÑ´Ù. ±×·¯³ª ÀϹÝÀûÀ¸·Î ÃßÃøÇϱ⠽¬¿î URL(ex: /admin, /manager)À» »ç¿ëÇϰí ÀÖ¾î, ¾ÆÀ̵ð/ÆÐ½º¿öµå¿¡ ´ëÇÑ Å©·¢ ¶Ç´Â Á¢±Ù Çã°¡ Á¤Ã¥¿¡ ´ëÇØ ¿äûÇÏ´Â ºÎºÐÀÇ Á¤º¸¸¦ º¯°æÇÔÀ¸·Î½á Á¢±ÙÀÌ °¡´ÉÇÑ °æ¿ì°¡ ¸¹´Ù. À¥ °ü¸®ÀÚÀÇ ±ÇÇÑÀÌ ³ëÃâµÉ °æ¿ì ȨÆäÀÌÁöÀÇ
º¯Á¶»Ó¸¸ ¾Æ´Ï¶ó Ãë¾à¼º Á¤µµ¿¡ µû¶ó¼­ À¥ ¼­¹öÀÇ ±ÇÇѱîÁöµµ ³ëÃâµÉ À§Ç輺ÀÌ Á¸ÀçÇÑ´Ù.

  ³ª. À§Çù »ç·Ê

  (1) °ü¸®ÀÚ ÆäÀÌÁö ÀÎÁõ ¿ìȸ
  ´ëºÎºÐÀÇ °ü¸®ÀÚ ÆäÀÌÁö´Â http://www.test.com/admin µî°ú °°ÀÌ ½±°Ô ÃßÃøÀÌ °¡´ÉÇÏ´Ù. ¶Ç ÀÎÁõ °úÁ¤ÀÌ Á¸ÀçÇÏ´õ¶óµµ SQL Injection, Javascript º¯Á¶ µîÀÇ Ãë¾àÁ¡À» ÀÌ¿ëÇÏ¿© ÀÎÁõ°úÁ¤À» ¿ìȸÇÏ¿© À¥ °ü¸®ÀÚ ±ÇÇÑÀ» ȹµæ ÇÒ ¼ö ÀÖ´Ù.


  ´Ù. Ãë¾à¼º ÆÇ´Ü

  ¡Ü ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëÇÏ´Â °ü¸®ÀÚ ÆäÀÌÁö ¸íÀ» ÀÔ·ÂÇÏ¿© °ü¸®ÀÚ ÆäÀÌÁö°¡ Á¸ÀçÇÏ´ÂÁö Á¡°ËÇÑ´Ù.

  ¡Ü °ü¸®ÀÚ°¡ ¿ø°ÝÁö¿¡¼­ ÆäÀÌÁö¿¡ ´ëÇÑ º¯°æÀ» ¼öÇàÇÒ ¶§ ÇØ´ç ¿¬°áÀÌ ÀûÀýÈ÷ º¸È£µÇ´ÂÁö Á¡°ËÇÑ´Ù.
  ¡Ø SSL°ú °°ÀÌ ¾ÏȣȭµÈ ¿¬°áÀ» »ç¿ëÇÏ´ÂÁö Á¡°Ë

  ¡Ü °ü¸®ÀÚÆäÀÌÁö¿¡ ±âº» °ü¸®ÀÚ °èÁ¤ ¹× ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÏ¿© ÆÐ½º¿öµå Ãë¾àÁ¡À» Á¡°ËÇÑ´Ù.
  ¡Ø °ü¸®ÀÚ °èÁ¤ ¿¹ : admin, administrator, manager µî

  ¡Ü ȨÆäÀÌÁö ÆÐ½º¿öµå Å©·¢µµ±¸¸¦ ÀÌ¿ëÇÏ¿© ¿ø°Ý¿¡¼­ ÆÐ½º¿öµå Å©·¢À» ½ÃµµÇÑ´Ù.

  ¡Ü ƯÁ¤ ȸ»çÀÇ À¥ ¾îÇø®ÄÉÀ̼ÇÀ» »ç¿ëÇÏ´Â °æ¿ì ÇØ´ç ȸ»ç¿¡¼­ ÆÇ¸Å ½Ã Á¦°øÇÏ´Â ±âº»°èÁ¤ ¹× ÆÐ½º¿öµå¸¦ ÀÌ¿ëÇÏ¿© Ãë¾àÁ¡À» Á¡°ËÇÑ´Ù.
  ¡Ø ƯÁ¤ Á¦Ç°¿¡ ´ëÇÑ ±âº»°èÁ¤ ¹× ÆÐ½º¿öµå´Â °Ë»ö»çÀÌÆ®¸¦ °Ë»öÇÏ¿© ½±°Ô ¾Ë ¼ö ÀÖ´Ù.

  ¡Ü »ç¿ëÀÚ ÀÎÁõÀ» Åë°úÇÏ¿© Á¢¼ÓÇÑ ÆäÀÌÁö¿¡ ´ëÇÏ¿© ÀÎÁõ °úÁ¤ ¾øÀÌ Áß°£ ÆäÀÌÁö¿¡ Á¢¼ÓÇÏ¿© Á¢¼ÓÀÌ °¡´ÉÇÑÁö¸¦ Á¡°ËÇÑ´Ù.


2. º¸È£´ëÃ¥

  ÀϹݻç¿ëÀÚÀÇ Á¢±ÙÀÌ ºÒÇÊ¿äÇÑ °ü¸®ÀÚ ·Î±×ÀÎ ÆäÀÌÁö ÁÖ¼Ò¸¦ À¯ÃßÇϱ⠾î·Á¿î À̸§À¸·Î º¯°æÇÑ´Ù.

  Áß¿äÇÑ Á¤º¸¸¦ °¡Áø À¥ ¼­¹öÀÇ Æ¯Á¤ ÆäÀÌÁöµéÀº °ü¸®ÀÚ ¶Ç´Â ƯÁ¤ »ç¿ëÀÚ¸¸ Á¢±ÙÇÒ Çʿ䰡 ÀÖ´Ù. ÀÌ·¯ÇÑ ÁÖ¿ä ÆäÀÌÁöµéÀº À¥ ¼­¹ö¿¡¼­ ÀûÀýÇÑ ¼³Á¤À» ÅëÇÏ¿© ƯÁ¤ »ç¿ëÀÚ¸¸ Á¢±ÙÀÌ °¡´ÉÇϵµ·Ï »ç¿ëÀÚ Á¢±ÙÁ¦ÇÑÀ» ÇÒ ¼ö ÀÖ´Ù.

  °¡. À¥ ¼­¹ö º¸È£ ´ëÃ¥

  º°µµÀÇ ³×Æ®¿öÅ© ¹üÀ§·Î IP ·¹º§ÀÇ Á¢±Ù ±ÇÇÑÀ» ¼³Á¤Çϰí À¥ °ü¸®ÀÚ ¸Þ´ºÀÇ Á¢±ÙÀ» Á¦ÇÑÇϸç À¥ °ü¸®ÀÚÀÇ ÀÎÅÍÆäÀ̽º´Â ƯÈ÷, SSL±â¼úÀ» ÀÌ¿ëÇÏ¿© HTTP over SSL°ú °°Àº Data Transaction ¾Ïȣȭ¸¦ ¹Ýµå½Ã Àû¿ëÇØ¾ß ÇÑ´Ù.

  °¡´ÉÇÏ´Ù¸é, VPN°ú °°Àº ³×Æ®¿öÅ© Â÷¿øÀÇ º°µµ º¸¾È½Ã½ºÅÛÀÇ ¼³Ä¡µµ °í·ÁÇÒ Çʿ䰡 ÀÖ´Ù.

  ¶ÇÇÑ, °ü¸®ÀÚ °èÁ¤À¸·Î´Â ¿ÜºÎ »çÀÌÆ®¿¡¼­ Á¢±ÙÇÏ´Â °ÍÀ» Çã¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. ´ëºÎºÐÀÇ È¨ÆäÀÌÁö¿¡¼­ °ü¸®ÀÚ °èÁ¤¿¡ ¸¹Àº ±ÇÇÑÀ» ºÎ¿©Çϰí ÀÖ´Â °æ¿ì°¡ ¸¹°í, ÀÏ¹Ý »ç¿ëÀÚ¿ë °Ô½ÃÆÇ°ú´Â ´Þ¸® °ü¸®ÀÚ¿ë °Ô½ÃÆÇÀÇ °æ¿ì¿¡´Â º°µµ °ü¸®°¡ ¾ÈµÇ°í ÀÖ´Â °æ¿ì°¡ ¸¹¾Æ °ü¸®ÀÚ °èÁ¤ ±ÇÇÑ È¹µæ ½Ã ȨÆäÀÌÁö ½Ã½ºÅÛÀÇ ±ÇÇÑȹµæÀ¸·Î ÀÌ·ç¾îÁö±â ½±±â ¶§¹®ÀÌ´Ù. µû¶ó¼­ °ü¸®ÀÚ ÆäÀÌÁöÀÇ °æ¿ì, »ç³» IP¿¡¼­¸¸ Á¢±ÙÀÌ °¡´ÉÇϵµ·Ï ¼³Á¤Çϰí, ¸¸ÀÏ ¿ÜºÎ °ü¸®ÀÚÀÇ Á¢±ÙÀÌ ¹Ýµå½Ã ÇÊ¿äÇÑ °æ¿ì¶ó¸é, »çÀÌÆ® °ü¸® ±ÇÇÑÀ» ¿ÜºÎ·Î ¿­¾îÁÖÁö ¾Ê°íµµ °¡´ÉÇÑ VPN ±â¼úÀ» »ç¿ëÇÏ¸é ¿ÜºÎ °ü¸®ÀÚ°¡ ȸ»ç ³»ºÎ(ȤÀº »çÀÌÆ®) ³×Æ®¿öÅ©·Î Á¢±ÙÇÒ ¼ö ÀÖÀ¸¸ç, °ü¸®ÀÚ´Â º¸È£µÈ ¹é¿£µå ¿¬°áÀ» ÅëÇØ »çÀÌÆ®¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.

  ¡Ü admin, manager µî°ú °°ÀÌ ÃßÃøÇϱ⠽¬¿î µð·ºÅ丮 ¸íÀ̳ª ÆÄÀϸíÀ» »ç¿ëÇÏÁö ¾ÊÀ½


  ¡Ü °ü¸®ÀÚ ÆäÀÌÁöÀÇ °æ¿ì, °ü¸®ÀÚ È£½ºÆ® IP¸¸ Á¢±Ù °¡´ÉÇϵµ·Ï ¼³Á¤ÇÔ

  (1) IIS À¥ ¼­¹ö¿¡¼­ º¸È£ ´ëÃ¥
  ¾Æ·¡ÀÇ ¹æ¹ýÀ¸·Î [°ü¸®ÀÚ ÆäÀÌÁö] Á¢±ÙÀ» Á¦ÇÑÇÑ´Ù.

  ¡Ü ¼³Á¤ -> Á¦¾îÆÇ -> °ü¸®µµ±¸ -> ÀÎÅÍ³Ý ¼­ºñ½º °ü¸®ÀÚ ¼±ÅÃ
  ¡Ü ÇØ´ç °ü¸®ÀÚ ÆäÀÌÁö Æú´õ¿¡ ¿À¸¥ÂÊ Å¬¸¯À» ÇÏ°í µî·ÏÁ¤º¸ -> µð·ºÅ丮 º¸¾È -> IP ÁÖ¼Ò ¹× µµ¸ÞÀÎ À̸§ Á¦ÇÑ -> ÆíÁý ¹öưÀ» Ŭ¸¯
  ¡Ü ¾×¼¼½º °ÅºÎ¸¦ ¼±ÅÃÇϰí Ãß°¡ ¹öưÀ» Ŭ¸¯ÇÏ¿© °ü¸®ÀÚ È£½ºÆ®IP ¶Ç´Â ¼­ºê³ÝÀ» µî·Ï

  (2) Apache À¥ ¼­¹ö¿¡¼­ º¸È£ ´ëÃ¥
  Apache À¥ ¼­¹öÀÇ È¯°æ¼³Á¤ ÆÄÀÏÀÎ httpd.conf ÆÄÀÏÀÇ Directory ¼½¼ÇÀÇ AllowOverride Áö½ÃÀÚ¿¡¼­ AuthConfig ¶Ç´Â All Ãß°¡ÇÏ¿© .htaccess¸¦ ÅëÇÏ¿© »ç¿ëÀÚ°èÁ¤, »ç¿ëÀÚ ÆÐ½º¿öµå¸¦ µî·ÏÇÑ »ç¿ëÀÚ¸¸ Á¢±ÙÀÌ °¡´ÉÇϵµ·Ï ÇÏ°í °ü¸®ÀÚ µð·ºÅ丮(admin)¿¡ ´ëÇØ ƯÁ¤ IP¿¡ ´ëÇØ¼­¸¸ Á¢±ÙÀÌ °¡´ÉÇϵµ·Ï Çϱâ À§Çؼ­ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.


  °ü¸®ÀÚ ÆäÀÌÁö¿Í °°ÀÌ ÀÎÁõÀÌ ÇÊ¿äÇÑ µð·ºÅ丮¿¡ .htaccess ÆÄÀÏÀ» ¸¸µé°í admin °èÁ¤ÀÇ ÆÐ½º¿öµå¸¦ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù. À§¿Í °°ÀÌ ¼³Á¤ ÈÄ ~apache/bin/htpasswd¸¦ ÀÌ¿ëÇÏ¿© »ç¿ëÀÚÁ¤º¸ ÆÄÀÏ(.htpasswd)À» »ý¼ºÇÑ´Ù.


  ¡Ø ÁÖÀÇ»çÇ×
  ¨ç Apache ¼­¹öÀÇ °æ¿ì AllowOverride Áö½ÃÀÚ¸¦ º¯°æ½Ã apache restart°¡ ÇÊ¿äÇÏ´Ù.
  ¨è °ü¸®ÀÚ ÆäÀÌÁöÀÇ µð·ºÅ丮¸íÀ» º¯°æ½Ã À¥ ÇÁ·Î±×·¥¿¡¼­ °ü¸®ÀÚ µð·ºÅ丮ÀÇ °æ·Î¸íÀ» ÁöÁ¤Çϰí ÀÖ´Â °æ¿ì À¥ ÇÁ·Î±×·¥ ¶ÇÇÑ ¼öÁ¤ÇØ¾ß ÇÑ´Ù
  ¨é °ü¸®ÀÚ ÆäÀÌÁö À¥ ¼­¹ö ÀÎÁõ ¼³Á¤½Ã °ü¸®ÀÚ µð·ºÅ丮¿¡´Â ÀÏ¹Ý »ç¿ëÀÚÀÇ Á¢±ÙÀÌ ÇÊ¿äÇÑ ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù.


Á¦2Àý ºÎÀûÀýÇÑ ÆÄ¶ó¹ÌÅÍ

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä

  ÀϹÝÀûÀ¸·Î À¥ ¾îÇø®ÄÉÀ̼ÇÀº HTTP ¿äû(¶Ç´Â ÆÄÀÏ) °ªÀ» ÅëÇØ ´ÙÀ½ µ¿ÀÛÀ» °áÁ¤ÇÏ°Ô µÇ´Âµ¥ °ø°ÝÀÚ´Â URL, Äõ¸® ¹®ÀÚ¿­, HTTP Çì´õ, ÄíŰ, HTML Æû ÀÎÀÚ, HTML hidden ÇÊµå µî ¸ðµç HTTP ¿äûÀ» º¯Á¶ÇÒ ¼ö ÀÖÀ¸¸ç, À̸¦ ÅëÇØ »çÀÌÆ®ÀÇ º¸¾È ¸ÞÄ¿´ÏÁòÀ» ¿ìȸÇϰíÀÚ ½ÃµµÇÑ´Ù. ÈçÈ÷ ¹ß»ýÇÏ´Â ÀÔ·Â °ª º¯Á¶ °ø°ÝÀº URL °­Á¦ Á¢¼Ó, ¸í·É¾î »ðÀÔ, Å©·Î½º »çÀÌÆ® ½ºÅ©¸³ÆÃ, ¹öÆÛ¿À¹öÇ÷οì, Æ÷¸Ë½ºÆ®¸µ °ø°Ý, SQL ±¸¹® »ðÀÔ, ÄíŰ Á¶ÀÛ, hidden Çʵå Á¶ÀÛ µîÀ¸·Î ºÒ¸® ¿î´Ù.

  ³ª. À§Çù »ç·Ê

  ¡Ü Àμö¸¦ Á¶ÀÛÇÏ¿© ½Ã½ºÅÛ ¸í·É¾î¸¦ ½ÇÇà

  Perl , Shell script µîÀÇ ½ºÅ©¸³Æ® ±â¹Ý ¾ð¾î·Î Â¥¿©Áø À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì, ÀÏ¹Ý º¯¼ö¿¡ ƯÁ¤ ¹®ÀÚ¿­À» »ðÀÔÇÒ °æ¿ì À̸¦ ÀûÀýÈ÷ ó¸®ÇÏÁö ¸øÇÏ°í ½Ã½ºÅÛÀÇ ¸í·É¾î¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

  À§¿Í °°ÀÌ perl·Î Â¥¿©Áø À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì, º¯¼öÀÎ router¿¡ °ø°ÝÀÚ°¡ °í¾ÈÇÑ Æ¯º°ÇÑ ¹®ÀÚ¿­°ú ÇÔ²² ½Ã½ºÅÛ ¸í·É¾î¸¦ »ðÀÔÇßÀ» ¶§, ¸í·É¾î°¡ ½Ã½ºÅÛÀÇ ³»ºÎ ¸í·É¾î°¡ ½ÇÇàµÉ ¼ö ÀÖ´Ù.

  º¯¼ö °ªÀÎ R10¿¡ Ãß°¡µÇ´Â °ø°ÝÀÚÀÇ ¹®ÀÚ¿­ ;`ls;ifconfig` °¡ ½Ã½ºÅÛ ³»ºÎ¿¡¼­ ½ÇÇàµÇ¾î °á°ú °ªÀ¸·Î Ãâ·ÂµÉ ¼ö ÀÖ´Ù.

  À§¿Í °°Àº Ãë¾àÁ¡Àº ½ºÅ©¸³Æ® ¾ð¾î¿¡¼­ ¸¹ÀÌ ¹ß»ýµÇ´Â °ÍÀ¸·Î Perl À̳ª Shell script µîÀ¸·Î °³¹ßµÈ ½ºÅ©¸³Æ®¿¡ ´ëÇØ¼­ °³¹ßÀÚ´Â ÀÛ¼ºÇÑ ½ºÅ©¸³Æ®°¡ ÀûÀýÇÏ°Ô º¯¼ö¸¦ üũÇϰí ÀÖ´ÂÁö, ÀÓÀÇÀÇ ¹®ÀÚ¿­¿¡ ´ëÇØ ºñÁ¤»óÀûÀ¸·Î µ¿ÀÛÇÏÁö ¾Ê´ÂÁö ¼Ò½º·¹º§¿¡¼­ °ËÅäÇØ¾ß ÇÑ´Ù.

  ´Ù. Ãë¾à¼º ÆÇ´Ü

  À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼­ ÁÖÀÇ ±í°Ô °ËÁõµÇÁö ¾Ê°í »ç¿ëµÇ´Â ¸ðµç HTTP ¿äûÀº ÈçÈ÷ ¡°tainted(´õ·´ÇôÁø)¡±ÀÎÀÚ¶ó°í ¾Ë·ÁÁ® ÀÖ´Ù. Tainted ÀÎÀÚ¸¦ »ç¿ëÇϰí ÀÖÁö ¾ÊÀºÁö ÆÄ¾ÇÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº »ó¼¼ ÄÚµå ºÐ¼®ÀÌ´Ù. »ó¼¼ ÄÚµå ºÐ¼®À» ÅëÇØ HTTP ¿äû¿¡¼­ Á¤º¸¸¦ ¹Þ¾ÆµéÀÌ´Â ¸ðµç ÇÔ¼ö¸¦ ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¸é J2EE ¾îÇø®ÄÉÀÌ¼Ç »ó¿¡¼­ ÀÌ·± ´ë»óÀº HttpServletRequest Ŭ·¡½ºÀÇ methodµéÀÏ °ÍÀÌ´Ù. ±×·¯¸é ÇØ´ç ÀÔ·Â °ªÀÇ º¯¼öµéÀÌ ¾îµð¿¡¼­ »ç¿ëµÇ´ÂÁö ÄÚµå È帧À» µû¶ó°¡¸é¼­ ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù. °¢ º¯¼öµéÀÌ »ç¿ëµÇ±â Àü¿¡ °ËÁõµÇÁö ¾Ê´Â´Ù¸é ¹®Á¦ ¹ß»ý °¡´É¼ºÀÌ ³ôÀº °ÍÀÌ´Ù. PerlÀ» »ç¿ëÇѴٸ顰taint¡±(-T) ¿É¼ÇÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» °í·ÁÇϱ⠹ٶõ´Ù.

  OWASPÀÇ WebScarab°ú °°Àº µµ±¸¸¦ »ç¿ëÇØ tainted ÀÎÀÚ¸¦ ¹ß°ßÇÒ ¼öµµ ÀÖ´Ù. HTTP ¿äûÀ¸·Î ÇÁ·Î±×·¡¸Ó°¡ ¿¹»óÇÏÁö ¸øÇÑ °ªÀ» Áý¾î³Ö°í ÇØ´ç À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¹ÝÀÀÀ» »ìÆìº½À¸·Î½á, tainted ÀÎÀÚ°¡ »ç¿ëµÇ´Â ºÎºÐÀ» ÆÄ¾ÇÇÒ ¼öµµ ÀÖ´Ù.
  ¡Ø WebScarab ´Ù¿î·Îµå »çÀÌÆ® : http://www.owasp.org/software/webscarab.html

2. º¸È£ ´ëÃ¥

  °¡. ÀÏ¹Ý ´ëÃ¥

  Àμö º¯Á¶¸¦ ¹æÁöÇÒ ¼ö ÀÖ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº ¸ðµç ÀÎÀÚ¿¡ ´ëÇØ »ç¿ë Àü¿¡ ÀÔ·Â °ª °ËÁõÀ» ¼öÇàÇÏ´Â °ÍÀÌ´Ù. ¸ðµç ÀÔ·Â °ª¿¡ ´ëÇØ Áß¾Ó¿¡¼­ ÁýÁßÀûÀ¸·Î ó¸®ÇÏ´Â ÇϳªÀÇ ÄÄÆ÷³ÍÆ®³ª ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °¡Àå È¿°úÀûÀÌ´Ù. ÀԷµǴ ¸ðµç ÀÎÀÚ´Â Çã¿ëµÈ ÀÔ·Â °ªÀÇ À¯Çü°ú Á¤È®È÷ ÀÏÄ¡ÇÏ´ÂÁö¿¡ ´ëÇØ Á¡°ËÇÏ¿©¾ß ÇÑ´Ù. ƯÁ¤ÇÑ ¾ÇÀÇÀû ÀÎÀÚ³ª °ø°Ý ÆÐÅÏ(signature)¸¸À» ÇÊÅ͸µ ó¸®ÇÏ´Â ¹æ½Ä"Àº È¿À²ÀûÀÌÁöµµ ¾Ê°í, ÇâÈÄÀÇ À¯Áöº¸¼ö ÀÛ¾÷À» ¾î·Æ°Ô ¸¸µç´Ù.

  ´ÙÀ½°ú °°ÀÌ ½ºÆÑ »ó¿¡ Çã¿ëµÈ °ª¸¸À» ¹Þ¾ÆµéÀÌ´Â "Çã¿ë(Positive) ¹æ½Ä"À» »ç¿ëÇÏ¿© ÀÎÀÚ¸¦ °ËÁõÇÏ¿©¾ß ÇÑ´Ù.

  ¡Ü µ¥ÀÌÅÍ À¯Çü (¹®ÀÚ¿­, Á¤¼öÇü, ½Ç¼öÇü µî)
  ¡Ü Çã¿ëµÈ ¹®Àڼ (character set)
  ¡Ü ÃÖ´ë / ÃÖ¼Ò ±æÀÌ
  ¡Ü Null °ªÀÇ Çã¿ë ¿©ºÎ
  ¡Ü ¹Ýµå½Ã ÇÊ¿äÇÑ ÀÎÀÚ¿Í ±×·¸Áö ¾ÊÀº ÀÎÀÚ
  ¡Ü Áߺ¹ Çã¿ë ¿©ºÎ
  ¡Ü ¼ýÀÚÀÇ ¹üÀ§
  ¡Ü Ÿ´çÇÑ °ÍÀ¸·Î ÁöÁ¤µÈ °ª (¿­°ÅÇü - enumeration »ç¿ë)
  ¡Ü Ÿ´çÇÑ °ÍÀ¸·Î ÁöÁ¤µÈ ÆÐÅÏ (Á¤±Ô½Ä »ç¿ë)

  À¥ ¾îÇø®ÄÉÀÌ¼Ç ¹æÈ­º®°ú °°Àº »õ·Î¿î Á¾·ùÀÇ º¸¾È Àåºñ´Â ¾î´À Á¤µµ ÀԷ°ª °ËÁõ ±â´ÉÀ» Á¦°øÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ·± Àåºñ¸¦ È¿À²ÀûÀ¸·Î »ç¿ëÇϱâ À§Çؼ­´Â »çÀÌÆ®¿¡¼­ »ç¿ëµÇ´Â ¸ðµç ÀÎÀڵ鿡 ´ëÇØ ¾î¶² °ªÀÌ Å¸´çÇÑ °ÍÀÎÁö ¾ö°ÝÇÏ°Ô Á¤ÀÇÇØ ³õ¾Æ¾ß ÇÑ´Ù. ÀÌ´Â °ð URL, Æû µ¥ÀÌÅÍ, ÄíŰ, Äõ¸® ¹®ÀÚ¿­, HTML hidden ÇÊµå µî ¸ðµç À¯ÇüÀÇ ÀԷ°ª¿¡ ´ëÇØ ÀûÀýÈ÷ º¸¾ÈÇÏ´Â °ÍÀ» ¶æÇÑ´Ù.


Á¦3Àý Ãë¾àÇÑ ¼¼¼Ç °ü¸®(Cookie Injection)

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä

  ÄíŰ(Cookie)´Â »ç¿ëÀÚ Á¤º¸¸¦ À¯ÁöÇÒ ¼ö ¾ø´Â HTTP(Hyper Text Transfer Protocol)ÀÇ ´ÜÁ¡À» ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÇ Çϳª·Î¼­ °¢ ¼­¹ö´Â Äí۸¦ »ç¿ëÇÏ¿© ºê¶ó¿ìÀú°¡ °®°í ÀÖ´Â Á¤º¸¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. ÀÌ¿Í °°ÀÌ Å¬¶óÀÌ¾ðÆ®¿¡¼­ µ¿À۵Ǵ ÄíŰ´Â ¾Ïȣȭ µîÀÇ ¹®Á¦¸¦ ºñ·ÔÇÏ¿© ±× ±¸Á¶»ó Ŭ¶óÀÌ¾ðÆ® Ãø¿¡¼­ÀÇ Á¶ÀÛÀ¸·Î ÀÎÇÑ ´Ù¾çÇÑ ¹®Á¦Á¡À» °¡Áö°í ÀÖ¾î, ¸¹Àº À¥ ÇÁ·Î±×·¡¹Ö ¾ð¾îµé¿¡´Â ¼­¹ö¿¡ Ŭ¶óÀ̾ðÆ®ÀÇ Á¤º¸¸¦ ÀúÀåÇÏ´Â ¼¼¼Ç(Session)À» Áö¿øÇϰí ÀÖ´Ù.

  ÀûÀýÈ÷ º¸È£µÇÁö ¾ÊÀº Äí۸¦ »ç¿ëÇϸé Cookie Injectionµî°ú °°Àº ÄíŰ °ª º¯Á¶¸¦ ÅëÇÏ¿© ´Ù¸¥ »ç¿ëÀÚ·ÎÀÇ À§Àå ¹× ±ÇÇÑ»ó½Â µîÀÇ ¹®Á¦°¡ »ý±æ ¼ö ÀÖ´Ù. ¶ÇÇÑ ÄíŰ ¹× ¼¼¼ÇÀº Cookie Sniffing ¹× 4Àý¿¡¼­ ÀÌ¾ß±â µÉ ¾Ç¼º½ºÅ©¸³Æ®½ÇÇà(XSS)¸¦ ÅëÇÑ Cookie Hijackingµî°ú °°Àº ÄíŰ °ª º¹»ç¸¦ ÅëÇØ ÇöÀç Ȱ¼ºÈ­µÈ »ç¿ëÀÚÀÇ ±ÇÇѺ¹Á¦ À§Ç輺ÀÌ Á¸ÀçÇÑ´Ù.

  ³ª. À§Çù »ç·Ê

  ÀÎÁõÀ» ó¸®ÇÏ´Â ½ºÅ©¸³Æ®°¡ ÀÔ·Â °ª¿¡ ´ëÇØ ÀûÀýÈ÷ °Ë»çÇÏÁö ¾Ê¾ÒÀ» ¶§ °ø°ÝÀÚ´Â Cookie °ªÀ» º¯Á¶ÇÏ¿© ÀÎÁõ°úÁ¤À» Åë°úÇÒ ¼ö ÀÖ´Ù.

  ´Ù. Ãë¾à¼º ÆÇ´Ü

  ¡Ü »çÀÌÆ®¿¡ ·Î±×ÀÎ ÇÑ ÈÄ, À¥ ºê¶ó¿ìÀúÀÇ ÁÖ¼Ò Ã¢¿¡ javascript :document. cookie;¸¦ ÀÔ·ÂÇØ¼­ ³»¿ëÀ» È®ÀÎÇÑ ÈÄ, ÇØ´ç ¼¼¼Ç Äí۸¦ »ç¿ëÇÏ´Â À¥ ¾îÇø®ÄÉÀÌ¼Ç ¼Ò½º Á¡°ËÀ» ÅëÇØ ºÒ¹ý º¯Á¶ ŽÁö ·çƾÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.

  ¡Ü ¸ðµç ÀÎÁõ ÀÚ°Ý Áõ¸í(credential)°ú ¼¼¼Ç ±¸ºÐÀÚ°¡ SSLÀ» ÀÌ¿ëÇÏ¿© Áö¼ÓÀûÀ¸·Î º¸È£µÇ°í ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.

  ¡Ü »çÀÌÆ®ÀÇ ÀÎÁõ ¸ÞÄ¿´ÏÁòÀ» ´Ù¾çÇÑ Ãø¸é¿¡¼­ °ËÅäÇÏ¿©, »ç¿ëÀÚÀÇ ÀÚ°Ý Áõ¸íÀÌ Á¤ÀûÀλóÅÂ(¿¹:µð½ºÅ©¿¡ ÀúÀåµÇ¾î ÀÖ´Â »óÅÂ)³ª Àü¼Û Áß(¿¹:»ç¿ëÀÚ ·Î±×ÀÎÀÌ ÀϾ°í ÀÖ´Â ¼ø°£)¿¡ º¸È£µÇ´ÂÁö¸¦ »ìÆìº¸¾Æ¾ß ÇÑ´Ù.

  ¡Ü Àΰ¡µÈ »ç¿ëÀÚ¸¸ÀÌ »ç¿ëÀÚÀÇ ÀÚ°Ý Áõ¸íÀ» º¯°æÇÒ ¼ö ÀÖ´ÂÁö Á¡°ËÇϱâ À§Çؼ­´Â, »ç¿ëÀÚÀÇ ÀÚ°Ý Áõ¸íÀ» º¯Á¶ÇÒ ¼ö ÀÖ´Â °¡´ÉÇÑ ¸ðµç ¸ÞÄ¿´ÏÁòÀ» °Ë»çÇÏ¿©¾ß¸¸ ÇÑ´Ù.

  ¡Ü ¼¼¼Ç °ü¸® ¸ÞÄ¿´ÏÁòÀ» Á¡°ËÇÒ ¶§´Â ¼¼¼Ç ±¸ºÐÀÚ°¡ Áö¼ÓÀûÀ¸·Î º¸È£µÇ°í ÀÖ´ÂÁö, ±×¸®°í ¼¼¼Ç °ü¸® ¸ÞÄ¿´ÏÁòÀÌ »ç°í³ª ¾ÇÀÇÀûÀÎ °ø°ÝÀÇ ¹ß»ý °¡´É¼ºÀ» °¨¼Ò½ÃÄÑÁÙ ¼ö ÀÖ´ÂÁö¸¦ °Ë»çÇÑ´Ù.

2. º¸È£´ëÃ¥

  °¡. ÀÏ¹Ý ´ëÃ¥

  ¡Ü Àü¼Û ÁßÀÇ ÀÚ°Ý Áõ¸í º¸È£
  °¡Àå È¿°úÀûÀÎ ¹æ¹ýÀº SSL°ú °°Àº ±â¼úÀ» »ç¿ëÇÏ¿© ·Î±×ÀÎ Æ®·£Àè¼Ç Àüü¸¦ ¾ÏȣȭÇÏ´Â ¹æ¹ýÀÌ´Ù. ¼­¹ö·Î Àü¼ÛÇϱâ ÀÌÀü¿¡ Ŭ¶óÀÌ¾ðÆ® ´Ü¿¡¼­ ÆÐ½º¿öµå¸¦ ÇØ½¬ÇÏ´Â ÇüÅ·Πº¯°æÇÏ´Â ´Ü¼øÇÑ ¹æ¹ýÀ¸·Î´Â ´Ù¸¥ °ø°ÝÀÚ°¡ ½ÇÁ¦ ÆÐ½º¿öµå¸¦ ¸ð¸£´Â »óÅ¿¡¼­ ÇØ½¬µÈ Á¤º¸¸¦ °¡·Îä¾î ¼­¹ö·Î ±×´ë·Î Àü¼ÛÇÏ´Â ÀÏÀÌ ¹ß»ýÇÏ´Â °æ¿ì º°´Ù¸¥ º¸¾ÈÀ» Á¦°øÇÏÁö ¸øÇÑ´Ù.

  ¡Ü Cookie´ë½Å º¸¾È¼ºÀÌ °­ÇÑ Server Side SessionÀ» »ç¿ë
  Client Side Session ¹æ½ÄÀÎ Cookie´Â ±× ±¸Á¶»ó ´Ù¾çÇÑ Ãë¾àÁ¡¿¡ ³ëÃâµÉ ¼ö ÀÖÀ¸¹Ç·Î °¡´ÉÇÑ À¥ ¼­¹ö¿¡¼­ Á¦°øµÇ´Â Server Side SessionÀ» »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.


Á¦4Àý ¾ÇÀÇÀûÀÎ ¸í·É ½ÇÇà(XSS)

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä

  Cross-site scripting(ÀÌÇÏ XSS) Ãë¾àÁ¡Àº À¥ ÆäÀÌÁö°¡ »ç¿ëÀÚ¿¡°Ô ÀÔ·Â ¹ÞÀº µ¥ÀÌÅ͸¦ ÇÊÅ͸µÇÏÁö ¾Ê°í ±×´ë·Î µ¿ÀûÀ¸·Î »ý¼ºµÈ À¥ ÆäÀÌÁö¿¡ Æ÷ÇÔÇÏ¿© »ç¿ëÀÚ¿¡°Ô ÀçÀü¼ÛÇÒ ¶§ ¹ß»ýÇÑ´Ù.

  ÀÚ¹Ù½ºÅ©¸³Æ®Ã³·³ Ŭ¶óÀÌ¾ðÆ® Ãø¿¡¼­ ½ÇÇàµÇ´Â ¾ð¾î·Î ÀÛ¼ºµÈ ¾Ç¼º ½ºÅ©¸³Æ® Äڵ带 À¥ÆäÀÌÁö, À¥ °Ô½ÃÆÇ ¶Ç´Â À̸ÞÀÏ¿¡ Æ÷ÇÔ½ÃÄÑ »ç¿ëÀÚ¿¡°Ô Àü´ÞÇϸé, ÇØ´ç À¥ ÆäÀÌÁö³ª À̸ÞÀÏÀ» »ç¿ëÀÚ°¡ Ŭ¸¯Çϰųª ÀÐÀ» °æ¿ì ¾Ç¼º ½ºÅ©¸³Æ® Äڵ尡 À¥ ºê¶ó¿ìÀú¿¡¼­ ½ÇÇàÀÌ µÈ´Ù.

  ÀÌ¿Í °°ÀÌ °ø°ÝÀÚ´Â XSS Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ´Â À¥ »çÀÌÆ®¸¦ ÀÌ¿ëÇÏ¿© ÀÚ½ÅÀÌ ¸¸µç ¾ÇÀÇÀûÀÎ ½ºÅ©¸³Æ®¸¦ ÀÏ¹Ý »ç¿ëÀÚÀÇ ÄÄÇ»ÅÍ¿¡ Àü´ÞÇÏ¿© ½ÇÇà½Ãų ¼ö Àִµ¥, ÀÌ·¯ÇÑ °ø°Ý¹æ¹ýÀ» ÅëÇØ »ç¿ëÀÚ Äí۸¦ ÈÉÃļ­ ÇØ´ç »ç¿ëÀÚ±ÇÇÑÀ¸·Î ·Î±×ÀÎÇϰųª ºê¶ó¿ìÀú¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Ù.

  ³ª. À§Çù »ç·Ê

  ¡Ü Javascript¸¦ ÀÌ¿ëÇÑ °ø°Ý

  °³ÀÎ ¼Ò°³¿Í °°Àº ¸¹Àº ¾çÀÇ ±ÛÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ºÎºÐ¿¡ XSS Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ¿© Javascript¸¦ ÀÌ¿ëÇÏ¿© ÀÚ½ÅÀÇ Á¤º¸¸¦ ¿­¶÷ÇÏ´Â »ç¿ëÀÚÀÇ ÀÎÁõÁ¤º¸(Cookie Á¤º¸ µî)¸¦ Å»ÃëÇÑ´Ù.

  À§ÀÇ ±×¸²Ã³·³ Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ´Â ºÎºÐ¿¡ ÀûÀýÇÑ ¾Ç¼ºÄڵ带 »ðÀÔÇÑ ÈÄ¿¡´Â ´Ù¸¥ »ç¿ëÀÚ°¡ ÇØ´ç »ç¿ëÀÚÀÇ ÇÁ·ÎÇÊÀ» °Ë»öÇÒ ¶§ ¾Æ·¡ ±×¸²°ú °°ÀÌ ÀÎÁõ Á¤º¸ ¼öÁý ¼­¹ö¿¡ Cookie Á¤º¸°¡ ÀúÀåµÇ¸ç À̸¦ ÀÌ¿ëÇÏ¿© ´Ù¸¥ »ç¿ëÀÚ·Î Á¢±ÙÀÌ °¡´ÉÇÏ´Ù.

  XSS Ãë¾àÁ¡ÀÌ Æ¯Á¤ÇÑ À¯ÇüÀÌ ÀÖ´Â °ÍÀº ¾Æ´ÏÁö¸¸ ¿¡·¯ ¸Þ½ÃÁö Ãâ·Â ºÎºÐÀ̳ª °Ô½ÃÆÇ ¶Ç´Â »ç¿ëÀÚÀÇ Á¤º¸¸¦ ÀÔ·ÂÇØ ´Ù½Ã º¸¿©ÁÖ´Â ºÎºÐ µîÀÌ ÁÖ·Î Ãë¾àÇÑ ºÎºÐÀÌ µÉ °æ¿ì°¡ ¸¹´Ù. ƯÈ÷ »ç¿ëÀÚ µîÀÌ À¥ »çÀÌÆ®ÀÇ °í°´ ºÒ¸¸ ¼¾ÅÍ µîÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô ÇØµÎ¾úÀ» °æ¿ì XSS¸¦ ¹Ù·Î °ü¸®ÀÚ¿¡°Ô º¸³¾ ¼ö ÀÖ´Â °æ¿ì¸¦ Á¾Á¾ º¼ ¼ö ÀÖ´Ù.

  ÀÌ·¯ÇÑ ÄÚµåÀÇ ´ÙÀ½°ú °°Àº ÀÔ·Â ºÎºÐ¿¡¼­ XSS°¡ ÁÖ·Î ¹ß»ýÇÑ´Ù. À¥ »çÀÌÆ®¸¦ °Ë»öÇÒ ¶§ °ø°ÝÀÚµéÀÌ ´«¿©°Üº¸´Â ºÎºÐÀÌ´Ù.

  ´Ù. Ãë¾à¼º ÆÇ´Ü
  °Ô½ÃÆÇ¿¡ ±Û¾²±â¿Í °°ÀÌ ´Ü¹®ÀÌ»óÀÇ ÀÔ·Â °¡´ÉÇÑ ºÎºÐ¿¡ ¾Æ·¡¿Í °°ÀÌ <script> ű׸¦ ÀÔ·ÂÇÑ ÈÄ ±× ºÎºÐÀ» Á¢±ÙÇÒ ¶§ ÆË¾÷âÀÌ ¶ß¸é Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ´Â °ÍÀÌ´Ù.


2. º¸È£ ´ëÃ¥

  °¡. À¯¿ëÇÑ ÇÔ¼öµé

  ¡á ASP

  ¡Ü Server.HTMLEncode() ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© Ư¼ö¹®ÀÚ¸¦ Entity ÇüÅ·Πº¯°æ
      - ¿ëµµ : ƯÁ¤ ¹®ÀÚ¿­¿¡ ´ëÇÑ HTML encodingÀ» ¼öÇàÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ¸·Î HTML ÆäÀÌÁö¸¦ ±¸¼ºÇϱâ Àü¿¡ »ç¿ëÇϸé Cross-Site scripting °ø°Ý¿¡ È¿°úÀûÀÌ´Ù.
      - Àû¿ë °¡´ÉÇÑ IIS : IIS 5.0ÀÌ»ó
      - »ç¿ë¹ý
        <%= Server.HTMLEncode¡°( <script>alert(document.cookie);</script>¡±) %>
      - °á°ú
        &lt;script&gt;alert(document.cookie);&lt;/script&gt;

  ¡á PHP

  ¡Ü htmlspecialchars()¸¦ ÀÌ¿ëÇÏ¿© Ư¼ö¹®ÀÚ¸¦ Entity ÇüÅ·Πġȯ
      - ¿ëµµ : ÀÌ ÇÔ¼ö´Â ƯÁ¤ ¹®ÀÚ¿­¿¡ ´ëÇÑ HTML encodingÀ» ¼öÇàÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ¸·Î HTML ÆäÀÌÁö¸¦ ±¸¼ºÇϱâ Àü¿¡ »ç¿ëÇϸé Cross-Site scripting °ø°Ý ´ëºñ¸¦ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
      - »ç¿ë¹ý
        htmlspecialchars¡°( <a href=¡®test¡¯>Test</a>¡±)
      - °á°ú
        &lt;a href=¡®test¡¯&gt;Test&lt;/a;&gt;

  ¡Ü strip_tags() ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ¹®ÀÚ¿­·ÎºÎÅÍ HTML ÅÂ±×¿Í PHP ű׸¦ Á¦°Å
      - ¿ëµµ : »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ» HTML È­¸é¿¡ Ãâ·ÂÇÒ °æ¿ì »ç¿ëÇÏ¿© Cross-Site scripting °ø°Ý¿¡ ´ëºñÇÒ ¼ö ÀÖ´Ù.
      - Àû¿ë °¡´ÉÇÑ PHP ¹öÀü : PHP 3.0.8 ÀÌ»ó
      - »ç¿ë¹ý
        A. strip_tags¡®( <script>¡¯); : ¸ðµçHTML¿¡¼­<script> ű׸¦Á¦°ÅÇÑ´Ù.
        ¡Ø htmlspecialchars() ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °Íº¸´Ù strip_tags()³ª strip_replace() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ó¸®ÇÏ´Â °ÍÀÌ º¸´Ù ¹Ù¶÷Á÷ÇÔ


Á¦5Àý ¹öÆÛ ¿À¹öÇ÷οì

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä

  °¡Àå ÀϹÝÀûÀÎ Ãë¾àÁ¡ÀÇ Çϳª·Î, ÁöÁ¤µÈ ¹öÆÛÀÇ Å©±âº¸´Ù Å« µ¥ÀÌÅ͸¦ ÀúÀåÇÔÀ¸·Î½á ½ÇÇà ½Ã ¿À·ù¸¦ ¹ß»ý½ÃŰ´Â Ãë¾à¼ºÀ» ¸»ÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ ¹öÆÛ ¿À¹öÇ÷ο츦 ³»ÀçÇϰí ÀÖÀ» °æ¿ì, ÇØÄ¿´Â ÀÌ °ø°ÝÀ» ÀÌ¿ëÇÏ¿© ÀÚ½ÅÀÌ ¿øÇÏ´Â ½ÇÇàÄڵ带 ¼öÇàÇÒ ¼ö ÀÖ°í, ÀÌ Ãë¾àÁ¡À» ÀÌ¿ëÇØ ½© Äڵ带 ½ÇÇàÇÔÀ¸·Î½á ¿ø°Ý¿¡¼­ ShellÀ» ¾òÀ» ¼ö ÀÖ°Ô µÈ´Ù.

  °ø°ÝÀÚ´Â À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ½ÇÇà °¡´ÉÇÑ ½ºÅÃÀ» µ¤¾î¾²±â À§ÇØ ¹öÆÛ ¿À¹öÇÃ·Î¿ì ±â¹ýÀ» »ç¿ëÇÑ´Ù. °ø°ÝÀÚ´Â À¥ ¾îÇø®ÄÉÀ̼ǿ¡ Á¶ÀÛÇÑ ÀÔ·Â °ªÀ» º¸³»¾î À¥ ¾îÇø®ÄÉÀ̼ÇÀÌ ÀÓÀÇÀÇ Äڵ带 ¼öÇàÇϵµ·Ï ÇÒ ¼ö ÀÖÀ¸¸ç, À̸¦ ÀÌ¿ëÇØ ½Ã½ºÅÛÀ» È¿°úÀûÀ¸·Î Àå¾ÇÇÒ ¼ö ÀÖ´Ù. ¹öÆÛ¿À¹öÇ÷οì Ãë¾àÁ¡Àº ¹ß°ßÇϱ⠽±Áö ¾ÊÀ¸¸ç ¹ß°ßÇß´Ù°í ÇÏ´õ¶óµµ ÀϹÝÀûÀ¸·Î °ø°ÝÇϱⰡ ¸Å¿ì ¾î·Æ´Ù. ±×·³¿¡µµ °ø°ÝÀÚµéÀº ´Ù¼öÀÇ Á¦Ç°±º°ú ÄÄÆ÷³ÍÆ®¿¡ Á¸ÀçÇÏ´Â ¹öÆÛ ¿À¹öÇ÷ο츦 ¹ß°ßÇØ ¿Ô´Ù. À¯»çÇÑ À¯ÇüÀÇ ´Ù¸¥ Ãë¾àÁ¡À¸·Î´Â Æ÷¸Ë ½ºÆ®¸µ °ø°Ý ±â¹ýÀÌ ÀÖ´Ù.

  ¹öÆÛ ¿À¹öÇ÷οì Ãë¾àÁ¡Àº »çÀÌÆ®ÀÇ ÄÁÅÙÃ÷¸¦ Á¦°øÇÏ´Â À¥ ¼­¹ö, À¥ ¾îÇø®ÄÉÀÌ¼Ç ¼­¹ö ȤÀº À¥ ¾îÇø®ÄÉÀÌ¼Ç ÀÚü¿¡ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. ³Î¸® »ç¿ëµÇ´Â ¼­¹ö Á¦Ç°±º¿¡ Á¸ÀçÇÏ´Â ¹öÆÛ¿À¹öÇ÷οì´Â ÀϹݿ¡ ³Î¸® ¾Ë·ÁÁö°Ô µÇ°í ÀÌ·Î ÀÎÇØ ÇØ´ç Á¦Ç°ÀÇ »ç¿ëÀÚ´Â »ó´çÇÑ À§Çè¿¡ ³ëÃâµÇ°Ô µÈ´Ù. À̹ÌÁö¸¦ »ý¼ºÇϴµ¥ »ç¿ëµÇ´Â ±×·¡ÇÈ ¶óÀ̺귯¸®¿Í °°ÀÌ À¥ ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÏ´Â ¶óÀ̺귯¸®µµ ¹öÆÛ ¿À¹öÇÃ·Î¿ì °ø°Ý¿¡ ³ëÃâµÉ °¡´É¼ºÀÌ ÀÖ´Ù.

  ¹öÆÛ ¿À¹öÇ÷οì´Â ÀÚü Á¦ÀÛÇÑ À¥ ¾îÇø®ÄÉÀÌ¼Ç Äڵ忡µµ Á¸ÀçÇÒ ¼ö ÀÖÀ¸¸ç, ÀÚü Á¦ÀÛÇÑ À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì À¥ ¾îÇø®ÄÉÀ̼ÇÀÌ ÀüÇüÀûÀ¸·Î °®´Â °ËÁõ ºÎÀç ¹®Á¦·Î ÀÎÇØ ¹öÆÛ ¿À¹öÇ÷ο찡 ¹ß»ýÇÒ È®·üÀÌ »ó´ëÀûÀ¸·Î ³ô´Ù. ÀÚü Á¦ÀÛÇÑ À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¹öÆÛ ¿À¹öÇ÷οì Ãë¾àÁ¡Àº ºñ±³Àû ¹ß°ßÇϱ⠾î·Á¿îµ¥, ¿Ö³ÄÇÏ¸é Æ¯Á¤ÇÑ ¾îÇø®ÄÉÀ̼ǿ¡¸¸ Á¸ÀçÇÏ´Â Ãë¾àÁ¡À» ¹ß°ßÇÏ¿© °ø°ÝÇÏ·Á´Â ÇØÄ¿µéÀÌ »ó´ëÀûÀ¸·Î Àû±â ¶§¹®ÀÌ´Ù. ÀÚü Á¦ÀÛ ¾îÇø®ÄÉÀ̼ǿ¡¼­ ¹öÆÛ ¿À¹öÇ÷οì Ãë¾àÁ¡ÀÌ ¹ß°ßµÈ´ÙÇÏ´õ¶óµµ, ÇØ´ç ¾îÇø®ÄÉÀ̼ÇÀÇ ¼Ò½º Äڵ峪 »ó¼¼ÇÑ ¿¡·¯ ¸Þ½ÃÁö¸¦ ÀϹÝÀûÀ¸·Î ÇØÄ¿°¡ ÀÔ¼öÇϱ⠾î·Á¿ì¹Ç·Î, Ãë¾àÁ¡À» ¼º°øÀûÀ¸·Î °ø°Ý ÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ »ó´çÈ÷ Á¦ÇѵȴÙ.

  ´ëºÎºÐÀÇ À¥ ¼­¹ö, À¥ ¾îÇø®ÄÉÀÌ¼Ç ¼­¹ö, À¥ ¾îÇø®ÄÉÀÌ¼Ç È¯°æÀº ¹öÆÛ ¿À¹öÇÃ·Î¿ì °¡´É¼ºÀÌ ÀÖÀ¸¸ç, ¿¹¿ÜÀûÀ¸·Î Java¿Í J2EE ȯ°æÀº JVM ÀÚü¿¡ ¹öÆÛ ¿À¹öÇ÷ο찡 ¹ß»ýÇÏ´Â °æ¿ì¸¦ Á¦¿ÜÇϰí´Â ¹öÆÛ ¿À¹öÇÃ·Î¿ì °ø°Ý¿¡ Ãë¾àÇÏÁö ¾Ê´Ù.

  ³ª. Á¡°Ë¹æ¹ý

  ¼­¹ö Á¦Ç°±º°ú ¶óÀ̺귯¸®ÀÇ °æ¿ì, »ç¿ëÇϰí ÀÖ´Â Á¦Ç°±º¿¡ ´ëÇÑ Ãֽйö±× ¸®Æ÷Æ®¸¦ Áö¼ÓÀûÀ¸·Î Âü°íÇÏ¿©¾ß ÇÑ´Ù. ÀÚü Á¦ÀÛÇÑ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì HTTP ¿äûÀ» ÅëÇØ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾ÆµéÀÌ´Â ¸ðµç Äڵ忡 ´ëÇØ ÀÓÀÇÀÇ ¸Å¿ì Å« ÀÔ·Â °ªµéÀ» ÀûÀýÈ÷ ´Ù·ê ¼ö ÀÖ´ÂÁö °ËÅäÇØ º¸¾Æ¾ß ÇÑ´Ù.

  ¡Ü ¹öÆÛ ¿À¹öÇ÷ο찡 ¹ß»ýÇÏ´Â °æ¿ì
    - ¿ÜºÎ·ÎºÎÅÍ ÀÔ·ÂµÈ µ¥ÀÌÅÍ(»ç¿ëÀÚ ÀÔ·Â, ȯ°æº¯¼ö, Command-line ÆÄ¶ó¹ÌÅÍ, ÆÄÀÏ µî)¸¦ ¹öÆÛ¿¡ °ð¹Ù·Î ÀÔ·ÂÇÒ °æ¿ì
    - ÀÔ·ÂÀ» Å« ¹öÆÛ¿¡¼­ ÀÛÀº ¹öÆÛ·Î º¹»çÇÒ °æ¿ì


2. º¸È£ ´ëÃ¥

  °¡. ÀÏ¹Ý º¸È£ ´ëÃ¥

  À¥ ¼­¹ö¿Í À¥ ¾îÇø®ÄÉÀÌ¼Ç ¼­¹ö Á¦Ç°±º ȤÀº ÀÎÅÍ³Ý È¯°æ »ó¿¡¼­ »ç¿ëµÇ´Â Á¦Ç°µé¿¡ ´ëÇØ ÃÖ½ÅÀÇ ¹ö±× ¸®Æ÷Æ®¸¦ Áö¼ÓÀûÀ¸·Î Âü°íÇÏ¿©, ÇØ´ç Á¦Ç°±ºÀÇ ÃֽŠÆÐÄ¡¸¦ Àû¿ëÇÏ¿©¾ß ÇÑ´Ù.

  ¹öÆÛ ¿À¹öÇ÷ο츦 ¹æÁöÇϱâ À§ÇÑ ±âÃÊÀûÀ̸ç È®½ÇÇÑ ¹æ¹ýÀº °³¹ßÀÚ°¡ ÇÁ·Î±×·¥ °³¹ß ½ÃºÎÅÍ ÀÔ·Â °ª¿¡ ´ëÇÑ °ËÁõÀ» ÇÏ´Â °ÍÀÌ´Ù. »ç¿ëÀÚÀÔ·Â, ȯ°æº¯¼ö, ÆÄÀÏ, Ÿ ½Ã½ºÅÛÀ¸·ÎºÎÅÍÀÇ ÀÔ·Â µî ´Ù¾çÇÑ ÇÁ·Î±×·¥ÀÇ ÀԷ¿¡ ´ëÇÑ °ËÁõÀÌ ÇÊ¿äÇÏ´Ù.

  ÀÚü Á¦ÀÛÇÑ ¾îÇø®ÄÉÀÌ¼Ç ÄÚµåÀÇ °æ¿ì HTTP ¿äûÀ» ÅëÇØ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾ÆµéÀÌ´Â ¸ðµç Äڵ带 °ËÅäÇÏ¿© ÀÔ·Â °ª¿¡ ´ëÇØ ÀûÀýÇÑ Å©±â¸¦ Á¡°ËÇÏ´ÂÁö »ìÆìº¸¾Æ¾ß ÇÑ´Ù. ÄÚµå ¸®ºä´Â ¹öÆÛ ¿À¹öÇÃ·Î¿ì °ø°Ý¿¡ Ãë¾àÇÏÁö ¾ÊÀº ȯ°æ¿¡ ´ëÇØ¼­µµ ¼öÇàÇÒ Çʿ䰡 ÀÖ´Ù. ¿Ö³ÄÇϸé ÀÌ·± ȯ°æ¿¡¼­µµ ÀûÀýÇÑ ÀÔ·Â °ª °ËÁõÀ» ¼öÇàÇÏÁö ¾Ê´Â °æ¿ì ¸Å¿ì Å« ÀÔ·Â °ªÀÌ µé¾î¿À°Ô µÇ¸é ¼­ºñ½º ºÒ´É »óÅÂ(Denial of service)¿¡ À̸£°Ô µÇ°Å³ª, ´Ù¸¥ ¿î¿µ»óÀÇ ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

  ¹öÆÛ ¿À¹öÇ÷ο츦 ¿¹¹æÇϱâ À§ÇÏ¿© ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº »çÇ×µéÀ» °í·ÁÇÑ´Ù.

  ¡Ü ¹üÀ§¸¦ Á¡°ËÇÏ´Â ¾ÈÀüÇÑ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÀԷ¿¡ ´ëÇÑ Á¡°Ë ½Ç½Ã
  ¡Ü ITS4¿Í °°Àº ÄÚµå°Ë»ç Åø(source code scanner)À» »ç¿ëÇÏ¿© ¹öÆÛ ¿À¹öÇ÷ο찡 ¹ß»ý °¡´ÉÇÑ ÇÔ¼ö¿¡ ´ëÇÑ Á¡°Ë ½Ç½Ã
    ¡Ø ITS4 : http://www.cigital.com/its4/
  ¡Ü ¹öÆÛ ¿À¹öÇ÷οìÀÇ ¹ß»ý¿¡ ´ëÇÑ °ËÃâÀÌ °¡´ÉÇÑ ÄÄÆÄÀÏ·¯ »ç¿ë
  ¡Ü ´Ù¾çÇÑ ÀÔ·ÂÀ» »ç¿ëÇÑ ÇÁ·Î±×·¥ Å×½ºÆ®


Á¦6Àý ¾ÇÀÇÀûÀÎ ¸í·É¾î ÁÖÀÔ °ø°Ý(SQL Injection)

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä
  ÇöÀç ´ëºÎºÐÀÇ À¥ »çÀÌÆ®µéÀº »ç¿ëÀڷκÎÅÍ ÀԷ¹ÞÀº °ªÀ» ÀÌ¿ëÇØ µ¥ÀÌÅÍ º£À̽º Á¢±ÙÀ» À§ÇÑ SQL Query¸¦ ¸¸µé°í ÀÖ´Ù. »ç¿ëÀÚ ·Î±×ÀÎ °úÁ¤À» ¿¹·Î µé¸é, »ç¿ëÀÚ°¡ À¯È¿ÇÑ °èÁ¤°ú ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇß´ÂÁö È®ÀÎÇϱâ À§ÇØ »ç¿ëÀÚ °èÁ¤°ú ÆÐ½º¿öµå¿¡ °üÇÑ SQL Query¹®À» ¸¸µç´Ù. À̶§ SQL injection ±â¹ýÀ» ÅëÇØ¼­ Á¤»óÀûÀÎ SQL query¸¦ º¯Á¶ÇÒ ¼ö ÀÖµµ·Ï Á¶ÀÛµÈ »ç¿ëÀÚ À̸§°ú ÆÐ½º¿öµå¸¦ º¸³» Á¤»óÀûÀÎ µ¿ÀÛÀ» ¹æÇØÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ºñÁ¤»óÀûÀÎ SQL Query¸¦ ÀÌ¿ëÇØ ´ÙÀ½°ú °°Àº °ø°ÝÀÌ °¡´ÉÇÏ´Ù.

  ¡Ü »ç¿ëÀÚ ÀÎÁõÀ» ºñÁ¤»óÀûÀ¸·Î Åë°úÇÒ ¼ö ÀÖ´Ù.
  ¡Ü µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåµÈ µ¥ÀÌÅ͸¦ ÀÓÀÇ·Î ¿­¶÷ÇÒ ¼ö ÀÖ´Ù.
  ¡Ü µ¥ÀÌÅͺ£À̽ºÀÇ ½Ã½ºÅÛ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ½Ã½ºÅÛ Á¶ÀÛÀÌ °¡´ÉÇÏ´Ù.

  ÀÌ·¯ÇÑ Ãë¾àÁ¡À» SQL Injection Ãë¾àÁ¡À̶ó°í Çϸç, »ç¿ëÀÚ°¡ µ¥ÀÌÅÍ ÀÔ·ÂÀÌ °¡´ÉÇÑ ¼ö ¸¹Àº À¥ ÆäÀÌÁö »ó¿¡ ÀÌ·¯ÇÑ Ãë¾àÁ¡ÀÌ Á¸ÀçÇÒ ¼ö ÀÖ´Ù.

  ³ª. À§Çù »ç·Ê

  (1) »ç¿ëÀÚ ÀÎÁõ °ø°Ý
  ¾Æ·¡ÀÇ ±×¸²°ú °°ÀÌ ÀÎÁõÀ» ó¸®ÇÏ´Â ¸ðµâÀÌ ÀÔ·Â °ª¿¡ ´ëÇØ ÀûÀýÈ÷ °Ë»çÇÏÁö ¾Ê¾ÒÀ» ¶§ °ø°ÝÀÚ´Â ºñÁ¤»óÀûÀÎ SQL Query¸¦ »ðÀÔ ÇÒ ¼ö ÀÖ°í À̸¦ ÀÌ¿ëÇØ »ç¿ëÁßÀÎ µ¥ÀÌÅͺ£À̽º¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Ù.

  ´ÙÀ½Àº SQL ±¸¹®À» ÀÌ¿ëÇÏ¿© ÀÎÁõÀ» ó¸®ÇÏ´Â ÀϹÝÀûÀÎ À¥ ÆäÀÌÁö ±¸Á¶¸¦ ³ªÅ¸³½´Ù.

  À̽ºÅ©¸³Æ®¿¡°ø°ÝÀÚ°¡test¶ó´Â½ÅûÀθíÀ»ÀÔ·ÂÇϰíÀÎÅͳÝÁ¢¼ö¹øÈ£´ë½ÅA¡¯or¡® A¡¯=¡¯A À̶õ °ªÀ» ÀÔ·ÂÇÏ¸é ¾Æ·¡¿Í °°Àº SQL Query°¡ ¿Ï¼ºµÈ´Ù.

  ÀÌ °æ¿ì ±¸¹®ÀÇ WHERE ÀýÀº¡°Âü AND °ÅÁþ OR Âü¡±ÀÇ WHERE ÀýÀÌ »ý¼ºµÇ¸ç ¹«Á¶°Ç ÂüÀÌ µÇ¾î SQL ±¸¹®Àº ¿Ã¹Ù¸¥ ÀÔ·Â °ªÀ¸·Î ó¸®ÇÏ°Ô µÇ¸ç °ø°ÝÀÚ´Â À¥ ÀÎÁõ ÆäÀÌÁö¸¦ ½±°Ô Åë°úÇÒ ¼ö ÀÖ°Ô µÈ´Ù.

  (2) MS-SQL»ó¿¡¼­ÀÇ ½Ã½ºÅÛ ¸í·É¾î ½ÇÇà
  MS-SQL µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Â °æ¿ì¸¦ ¿¹¸¦ µé¾î º¸ÀÚ. ¸¸¾à µ¥ÀÌÅͺ£À̽º Á¢±Ù ±ÇÇÑÀÌ ½Ã½ºÅÛ ±ÇÇÑÀ» »ç¿ëÇϰí ÀÖ´Ù¸é MS-SQL¿¡¼­ ±âº»ÀûÀ¸·Î Á¦°øÇϰí ÀÖ´Â xp_cmdshellÀ̶ó´Â Stored Procedure¸¦ ÀÌ¿ëÇÏ¿© ½Ã½ºÅÛ ¸í·É¾î¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

  ¿¹·Î À§ÀÇ ÀÎÁõ ÆäÀÌÁö¿¡¼­ ½ÅûÀÎ¸í¿¡ test, Á¢¼ö¹øÈ£¿¡ ¡¯; exec master..xp_cmdshell ¡®ping 10.10.1.2¡¯-- °ªÀ» ÀÔ·ÂÇß´Ù°í °¡Á¤Çϸé SQL Query´Â ´ÙÀ½°ú °°ÀÌ ¿Ï¼ºµÉ °ÍÀÌ´Ù.

  ÀÌ SQL Query´Â SELECT Query¿Í xp_cmdshell Query¸¦ SQL Query°¡ ¼øÂ÷ÀûÀ¸·Î ½ÇÇàµÇ°Ô µÇ¸ç, ¸¶Áö¸·ÀÇ -- ¹®ÀÚ´Â ÀÌÈÄÀÇ ¸ðµç ¹®ÀÚ¿­À» ÁÖ¼® ó¸®ÇÏ¿© ¹®ÀåÀ» ¿Ï¼º½ÃÄÑ ÁØ´Ù.

  (3) Ãë¾à¼º ÆÇ´Ü
  ¡Ü °Ë»ö¾î ÇÊµå ¹× ·Î±×ÀξÆÀ̵ð, PASSWD Çʵ忡 Å«µû¿ÈÇ¥(¡±), ÀÛÀºµû¿ÈÇ¥( ¡¯), ¼¼¹ÌÄÝ·Ð(;) µîÀ» ÀÔ·ÂÇÑ ÈÄ, DB error°¡ ÀϾ´ÂÁö È®ÀÎÇÏÀÚ.

  ¡Ü ·Î±×ÀÎ ¸ðµâ Á¡°Ë
    - MS SQLÀÎ °æ¿ì: ID Çʵ忡 [¡¯or 1=1 ;--], ºñ¹Ð¹øÈ£ Çʵ忡´Â ¾Æ¹« °ªÀ̳ª ÀÔ·ÂÇÑ ÈÄ ·Î±×ÀÎÀ» ½ÃµµÇÑ´Ù.
    - OracleÀÎ °æ¿ì: ID Çʵ忡 [¡¯or 1=1 --], ºñ¹Ð¹øÈ£ Çʵ忡´Â ¾Æ¹« °ªÀ̳ª ÀÔ·ÂÇÑ ÈÄ ·Î±×ÀÎÀ» ½ÃµµÇÑ´Ù.

  ¡Ü ±âŸ
    - ID Çʵ忡[¡¯or¡° =¡¯], ºñ¹Ð¹øÈ£Çʵ忡[¡¯or¡° =¡¯]À»ÀÔ·ÂÇÑÈķα×ÀÎÀ»½ÃµµÇÑ´Ù.
      ¡Ø À§ ¿¹Á¦ À̿ܿ¡µµ ´Ù¾çÇÑ ¹æ¹ýÀÌ °¡´ÉÇϱ⠶§¹®¿¡, ·Î±×ÀÎ ¹× »ç¿ëÀÚ ÀÔ·Â °ªÀ» »ç¿ëÇÏ´Â ¼Ò½º¿¡¼­ DB Query »ý¼º ¹æ½ÄÀ» Á÷Á¢ Á¡°ËÇØ¾ß ÇÑ´Ù.

  ´Ù. º¸È£ ´ëÃ¥

  (1) ÀÏ¹Ý ´ëÃ¥
  ¡Ü µ¥ÀÌÅͺ£À̽º¿Í ¿¬µ¿À» ÇÏ´Â ½ºÅ©¸³Æ®ÀÇ ¸ðµç ÆÄ¶ó¹ÌÅ͵éÀ» Á¡°ËÇÏ¿© »ç¿ëÀÚÀÇ ÀԷ°ªÀÌ SQL injectionÀ» ¹ß»ý½ÃŰÁö ¾Êµµ·Ï ¼öÁ¤ÇÑ´Ù.

  ¡Ü »ç¿ëÀÚ ÀÔ·ÂÀÌ SQL injectionÀ» ¹ß»ý½ÃŰÁö ¾Êµµ·Ï »ç¿ëÀÚ ÀÔ·Â ½Ã Ư¼ö¹®ÀÚ(' " / \ ; : Space -- +µî)°¡ Æ÷ÇԵǾî ÀÖ´ÂÁö °Ë»çÇÏ¿© Çã¿ëµÇÁö ¾ÊÀº ¹®ÀÚ¿­À̳ª ¹®ÀÚ°¡ Æ÷ÇÔµÈ °æ¿ì¿¡´Â ¿¡·¯·Î ó¸®ÇÑ´Ù.

  ¡Ü SQL ¼­¹öÀÇ ¿¡·¯ ¸Þ½ÃÁö¸¦ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÖÁö ¾Êµµ·Ï ¼³Á¤ÇÑ´Ù. °ø°ÝÀÚ´Â ¸®ÅÏ µÇ´Â ¿¡·¯ ¸Þ½ÃÁö¿¡ ´ëÇÑ ºÐ¼®À» ÅëÇÏ¿© °ø°Ý¿¡ ¼º°øÇÒ ¼ö ÀÖ´Â SQL Injection ½ºÆ®¸µÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù. µû¶ó¼­ SQL ¼­¹öÀÇ ¿¡·¯ ¸Þ½ÃÁö¸¦ ¿ÜºÎ¿¡ Á¦°øÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.

  ¡Ü À¥ ¾îÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÏ´Â µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚÀÇ ±ÇÇÑÀ» Á¦ÇÑÇÑ´Ù. °¡´ÉÇϸé ÀϹݻç¿ëÀÚ ±ÇÇÑÀ¸·Î´Â ¸ðµç system stored procedures¿¡ Á¢±ÙÇÏÁö ¸øÇϵµ·Ï ÇÏ¿© À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ SQL Injection Ãë¾àÁ¡À» ÀÌ¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º Àüü¿¡ ´ëÇÑ Á¦¾î±ÇÀ» ¾ò°Å³ª µ¥ÀÌÅͺ£À̽º¸¦ ¿î¿ëÁßÀÎ ¼­¹ö¿¡ ´ëÇÑ Á¢±ÙÀÌ ºÒ°¡´ÉÇϵµ·Ï ÇÑ´Ù.

  ¡Ü php.ini ¼³Á¤ º¯°æ
    : php.ini ¼³Á¤ Áß magic_quotes_gpc °ªÀ» OnÀ¸·Î ¼³Á¤ÇÑ´Ù.



Á¦7Àý ¾÷·Îµå Ãë¾àÁ¡

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä

  ´ëºÎºÐÀÇ È¨ÆäÀÌÁö´Â »ç¿ëÀÚµéÀ» À§ÇÏ¿© ¿©·¯ °¡Áö Á¾·ùÀÇ °Ô½ÃÆÇÀ» »ç¿ëÇÏ°í °Ô½ÃÆÇµéÀº ÆÄÀÏÀ» ÷ºÎÇÏ´Â ±â´É µî ´Ù¾çÇÑ ±â´ÉÀ» °¡Áö°í Àִµ¥ ÀÌ·± °Ô½ÃÆÇÀÇ Ã·ºÎÆÄÀÏ ¾÷·Îµå ±â´ÉÀ» ¾Ç¿ëÇÏ¿© À¥ ¼­¹öÀÇ ±ÇÇÑÀÌ ³ëÃâµÉ ¼ö ÀÖ´Ù.
  ¸¸ÀÏ °Ô½ÃÆÇ¿¡ ¾÷·Îµå µÇ´Â ÆÄÀÏÀÇ È®ÀåÀÚ¿¡ ´ëÇÑ ÀûÇÕ¼º ¿©ºÎ¸¦ °ËÁõÇÏ´Â ·çƾÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é °ø°ÝÀÚ°¡ Á¶ÀÛÇÑ Server Side script ÆÄÀÏÀ» ¾÷·ÎµåÇÏ°í ¾÷·Îµå µÈ ÆÄÀÏÀÌ ¼­¹ö »ó¿¡ ÀúÀåµÈ °æ·Î¸¦ À¯ÃßÇÑ ÈÄ ÀÌ °æ·Î¸¦ ÅëÇØ Server Side script ÆÄÀÏÀ» ½ÇÇàÇÏ¿© ½©À» ȹµæÇÒ ¼ö ÀÖ°í ÀÌ·¯ÇÑ °úÁ¤À» ÅëÇØ À¥ ¼­¹öÀÇ ±ÇÇÑÀÌ ³ëÃâµÉ ¼ö ÀÖ´Ù. ½© ±ÇÇÑ È¹µæ ÈÄ, ½Ã½ºÅÛÀÇ ¸í·É¾î¸¦ ȨÆäÀÌÁö¸¦ ÅëÇØ ½ÇÇàÇϰí À¥ ºê¶ó¿ìÀú¸¦ ÅëÇØ ±× °á°ú °ªÀ» º¸¸ç ½Ã½ºÅÛ °ü¸®ÀÚ ±ÇÇÑÀ̳ª Àα٠¼­¹öÀÇ Ä§ÀÔÀ» ½Ãµµ ÇÒ ¼ö ÀÖ´Ù.

  ƯÈ÷, À¥ ¼­¹ö µ¥¸óÀÇ ±¸µ¿ÀÌ UnixÀÇ root¿Í °°Àº ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ±ÇÇÑÀ¸·Î ±¸µ¿ µÉ °æ¿ì, ½Ã½ºÅÛÀÇ °ü¸®ÀÚ ±ÇÇÑÀÌ °ø°ÝÀÚ¿¡°Ô ±×´ë·Î ³ëÃâµÉ ¼ö ÀÖ´Â »ó´çÈ÷ À§ÇèÇÑ º¸¾È Ãë¾àÁ¡ÀÌ´Ù.

  ³ª. À§Çù »ç·Ê

  (1) À¥ ¼­¹öÀÇ °Ô½ÃÆÇ¿¡ Á¶ÀÛµÈ Server Side script ÆÄÀÏ Upload


  ´Ù. Ãë¾à¼º ÆÇ´Ü

  ¡Ü ¸ÕÀú »ç¿ëÀÚ °Ô½ÃÆÇ¿¡ ÆÄÀÏ÷ºÎ ±â´ÉÀÌ ÀÖ´ÂÁö Á¶»çÇÑ´Ù.
    ¿¹) °Ô½ÃÆÇ, °ø°³ ÀÚ·á½Ç, °ü¸®ÀÚ ÀÚ·á½Ç, À̹ÌÁö ÀÚ·á½Ç µî

  ¡Ü ÷ºÎ±â´ÉÀÌ Á¸ÀçÇÏ´Â °æ¿ì, È®ÀåÀÚ°¡ jsp, php, asp, cgi µî Server Side script ÇÁ·Î±×·¥À» ¾÷·Îµå ÇÏ¿© ¾÷·Îµå°¡ °¡´ÉÇÑÁö Á¶»çÇÑ´Ù. ÀÌ ¶§ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥¿¡¼­ Javascript, VBscript µîÀÇ ½ºÅ©¸³Æ®·Î ÆÄÀÏ÷ºÎ¸¦ Â÷´ÜÇÏ´Â °æ¿ì Â÷´Ü±â´ÉÀ» ¼öÁ¤ÇÏ¿© ÆÄÀÏÀ» ÷ºÎÇÑ´Ù.

  ¡Ü ȨÆäÀÌÁö¿¡ ÀÖ´Â µð·ºÅ丮 Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ÷ºÎÇÑ Server Side script ÇÁ·Î±×·¥ÀÇ À§Ä¡¸¦ Á¶»çÇÑ ÈÄ ºê¶ó¿ìÀú ÁÖ¼Ò Ã¢¿¡¼­ ÇØ´ç ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù.

  ¡Ü ½ÇÇà â¿¡¼­ ÇÁ·Î±×·¥ ¼ÒÀ¯ÀÚ¸¦ Á¶»çÇϰųª Áß¿äÁ¤º¸°¡ Á¸ÀçÇÏ´ÂÁö Á¶»çÇÑ´Ù.

2. º¸È£ ´ëÃ¥

  °¡. ÀÏ¹Ý ´ëÃ¥

  ÷ºÎ ÆÄÀÏ ¾÷·Îµå ±â´ÉÀ» ÅëÇÑ ½ºÅ©¸³Æ® ¾÷·Îµå ¹× ½ÇÇàÀ» ±ÝÁö½ÃŲ´Ù.
  °Ô½ÃÆÇ ÷ºÎÆÄÀÏ ¾÷·Îµå, »çÁø ¾÷·Îµå ¸ðµâµî »ç¿ëÀÚ°¡ ÀÓÀÇÀÇ ÆÄÀÏÀ» ¼­¹ö·Î Àü¼ÛÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» ÀÌ¿ëÇØ¼­ °ø°ÝÀÚ°¡ ÀÛ¼ºÇÑ ¾ÇÀÇÀûÀÎ ½ºÅ©¸³Æ®¸¦ ¼­¹ö¿¡ ¾÷·Îµå ÇÑ ÈÄ, À̸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Ù¸é ÇØ´ç ¼­¹ö´Â ¹°·Ð ÇØ´ç Application Server¿Í ½Å·Ú°ü°è¸¦ ¸Î°íÀÖ´Â ¼­¹öµé(¿¹, Web DB¼­¹ö, ³»ºÎ ¿¬µ¿¼­¹ö µî)µéÀÌ °ø°Ý´çÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀÌ ÀÖ´Ù. º» Ãë¾àÁ¡Àº °Ô½ÃÆÇ ¾÷·Îµå ¸ðµâ»Ó ¾Æ´Ï¶ó ±×¸² ÆÄÀÏÀ» ¿Ã¸®´Â ±â´ÉÀ» ÅëÇØ¼­µµ ¹ß°ßµÇ°í Àֱ⠶§¹®¿¡, »ç¿ëÀÚ°¡ ÆÄÀÏÀ» ¾÷·Îµå ÇÒ ¼ö ÀÖ´Â ¸ðµç ¸ðµâ¿¡ Àû¿ëµÈ´Ù.

  ¡Ü Upload ÆÄÀÏÀ» À§ÇÑ µð·ºÅ丮¿¡´Â ½ÇÇ༳Á¤À» Á¦°Å(À¥ ¼­¹ö)
    : Upload ÆÄÀÏÀ» À§ÇÑ Àü¿ë µð·ºÅ丮¸¦ º°µµ »ý¼ºÇÏ¿© httpd.conf¿Í °°Àº À¥ ¼­¹ö µ¥¸ó ¼³Á¤ÆÄÀÏ¿¡¼­ ½ÇÇ༳Á¤À» Á¦°ÅÇÔÀ¸·Î½á, Server Side script°¡ UploadµÇ´õ¶óµµ À¥ ¿£ÁøÀÌ ½ÇÇàÇÏÁö ¾Ê°Ô ȯ°æÀ» ¼³Á¤ÇÔ

  ¡Ü ÷ºÎÆÄÀÏÀÇ È®ÀåÀÚ ÇÊÅ͸µ ó¸®
  : »ç¿ëÀÚ°¡ ÷ºÎÆÄÀÏÀÇ Upload ½Ãµµ ½Ã, UploadµÇ´Â ÆÄÀÏÀÇ È®ÀåÀÚ¸¦ °ËÅäÇÏ¿© ÀûÇÕÇÑ ÆÄÀÏÀÎÁö¸¦ °Ë»çÇÏ´Â ·çƾÀ» »ðÀÔÇÏ¿©, ÀûÇÕÇÑ ÆÄÀÏÀÇ È®ÀåÀÚ ÀÌ¿ÜÀÇ ÆÄÀÏ¿¡ ´ëÇØ¼­´Â ¾÷·Îµå µÇÁö ¾Êµµ·Ï Çϸç, ÀÌ·± ÇÊÅ͸µ ±ÔÄ¢Àº ¼­¹ö¿¡¼­ ±¸ÇöÇØ¾ß ÇÑ´Ù.

  (1) ½Ã½ºÅÛ º¸¾È
  À¥ ¼­¹ö ±¸µ¿Àº ¹Ýµå½Ã °ü¸®ÀÚ ±ÇÇÑÀÌ ¾Æ´Ñ ÀÏ¹Ý »ç¿ëÀÚ ±ÇÇÑÀ¸·Î ±¸µ¿Çϵµ·Ï ÇÑ´Ù. ¿ÜºÎ»ç¿ëÀÚ°¡ ÷ºÎÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ±ÇÇÑÀ» ȹµæÇÒÁö¶óµµ ÃÖ¼ÒÇÑÀÇ ±ÇÇѸ¸À» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¾÷·Îµå µÈ µð·ºÅ丮¿¡¼­ ½ÇÇà ±ÇÇÑÀ» Á¦°ÅÇÏ´Â ¹æ¹ýÀº ÀÓ½ÃÀûÀ̱â´Â ÇÏÁö¸¸ ¼Ò½º ÄÚµåÀÇ ¼öÁ¤ ¾øÀÌ °£´ÜÈ÷ ¼öÇà µÉ ¼ö ÀÖ´Ù.

  ¡Ü IIS º¸¾È ¼³Á¤
    : ¼³Á¤ -> Á¦¾îÆÇ -> °ü¸®µµ±¸ -> ÀÎÅÍ³Ý ¼­ºñ½º °ü¸®ÀÚ ¼±ÅÃ

  ÇØ´ç ¾÷·Îµå Æú´õ¿¡ ¿À¸¥ÂÊ Å¬¸¯À» ÇÏ°í µî·ÏÁ¤º¸ µð·ºÅ丮 ½ÇÇà±ÇÇÑÀ» ¡°¾øÀ½¡±À¸·Î ¼³Á¤


  ¡Ü Apache ¼³Á¤
    : Apache ¼³Á¤ ÆÄÀÏÀÎ httpd.conf¿¡ ÇØ´ç µð·ºÅ丮¿¡ ´ëÇÑ ¹®¼­ ŸÀÔÀ» ÄÁÆ®·ÑÇϱâ À§ÇØ Directory ¼½¼ÇÀÇ AllowOverride Áö½ÃÀÚ¿¡¼­ FileInfo ¶Ç´Â All Ãß°¡

  ÆÄÀÏ ¾÷·Îµå µð·ºÅ丮¿¡ .htaccess ÆÄÀÏÀ» ¸¸µé°í ´ÙÀ½°ú °°ÀÌ AddType Áö½ÃÀÚ¸¦ ÀÌ¿ë, ÇöÀç ¼­¹ö¿¡¼­ ¿î¿µµÇ´Â Server Side script È®ÀåÀÚ¸¦ text/html·Î MIME TypeÀ» ÀçÁ¶Á¤ÇÏ¿© ¾÷·Îµå µÈ Server Side script°¡ ½ÇÇàµÇÁö ¾Êµµ·Ï ¼³Á¤ÇÑ´Ù.

  ¶Ç´Â FileMatch Áö½ÃÀÚ¸¦ ÀÌ¿ëÇÏ¿© *.ph, *.inc, *lib µîÀÇ Server Side scriptÆÄÀÏ¿¡ ´ëÇØ¼­ Á÷Á¢ URL È£ÃâÀ» ±ÝÁö½ÃŲ´Ù.


  ¡Ø ÁÖÀÇ»çÇ×
  1. Apache ¼­¹öÀÇ °æ¿ì AllowOverride Áö½ÃÀÚ¸¦ º¯°æ ½Ã apache restart°¡ ÇÊ¿äÇÏ´Ù.
  2. ÆÄÀÏ ¾÷·Îµå µÇ´Â µð·ºÅ丮¿¡ ¿î¿µ¿¡ ÇÊ¿äÇÑ Server Side script°¡ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇÑ´Ù. ÆÄÀÏ ´Ù¿î·Îµå ÇÁ·Î±×·¥ÀÌ ¾Æ´Ñ Á÷Á¢ URL È£ÃâÀ» ÅëÇØ ÆÄÀÏÀ» ´Ù¿î¹Þ´Â °æ¿ì FileMatch Áö½ÃÀÚ¸¦ »ç¿ëÇϸé Â÷´Ü ¼³Á¤ÇÑ È®ÀåÀÚÀÇ ÆÄÀÏ ´Ù¿î·Îµå´Â °ÅºÎµÈ´Ù.


Á¦8Àý ´Ù¿î·Îµå Ãë¾àÁ¡

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä

  ȨÆäÀÌÁö »ó¿¡¼­ ÆÄÀÏÀ» ´Ù¿î¹Þ°Å³ª ¾÷·Îµå ½ÃŰ´Â °æ¿ì cgi, jsp, php, php3 µîÀÇ ÇÁ·Î±×·¥µéÀ» »ç¿ëÇÑ´Ù. ¸¸ÀÏ ÀÌ·¯ÇÑ cgi, jsp, php, php3 µîÀÇ ÇÁ·Î±×·¥¿¡¼­ ÀԷµǴ °æ·Î¸¦ üũÇÏÁö ¾Ê´Â °æ¿ì, ÀÓÀÇÀÇ ¹®ÀÚ(../.. µî)³ª ÁÖ¿ä ÆÄÀϸíÀÇ ÀÔ·ÂÀ» ÅëÇØ À¥ ¼­¹öÀÇ È¨ µð·ºÅ丮¸¦ ¹þ¾î³ª¼­ ÀÓÀÇÀÇ À§Ä¡¿¡ ÀÖ´Â ÆÄÀÏÀ» ¿­¶÷Çϰųª ´Ù¿î¹Þ´Â °ÍÀÌ °¡´ÉÇÒ ¼ö ÀÖ´Ù.

  ³ª. À§Çù »ç·Ê

  ¡Ü »ó´ë°æ·Î¸¦ ÀÌ¿ëÇÑ ÆÄÀÏ Á¢±Ù
  »ó´ë°æ·Î¶õ ./, ../¿Í °°ÀÌ ³í¸®Àû ´ÜÀ§·Î ÀÌ·ç¾îÁø µð·ºÅ丮 °æ·Î¸¦ ¸»ÇÑ´Ù. ÆÄÀÏÀÇ À̸§À̳ª °æ·Î¸¦ ´Ù·ç´Â À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼­ ÀÌ·¯ÇÑ ³í¸®ÀûÀÎ °æ·Î¸¦ ÀûÀýÈ÷ ó¸®ÇÏÁö ¸øÇÏ¿© À¥ ¾îÇø®ÄÉÀ̼ÇÀÌ ¼³Ä¡µÈ µð·ºÅ丮¸¦ »óȸÇÏ¿© ½Ã½ºÅÛ ÆÄÀÏÀ̳ª ÁöÁ¤ÇÏÁö ¾ÊÀº ´Ù¸¥ ÆÄÀÏ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.

  À§¿Í °°ÀÌ ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ¾Æ¾ß ÇÏ´Â URLÀÇ °æ¿ì °ø°ÝÀÚ´Â filename º¯¼ö¸¦ ../../../../../../../winnt/win.ini¿Í °°ÀÌ »ó´ë°æ·Î¸¦ ÀÌ¿ë, Ä¡È¯ÇØ¼­ ½Ã½ºÅÛ ³»ºÎÀÇ ÆÄÀÏÀ» ºÒ¹ýÀ¸·Î ȹµæÇÒ ¼ö ÀÖ´Ù.

  ÆÄÀÏÀ» ´Ù·ç´Â À¥ ¾îÇø®ÄÉÀ̼ÇÀº ƯÈ÷ ÆÄÀÏÀÇ À̸§À» º¯¼ö·Î Áְųª, ÀÌ¿¡ ´ëÇÑ ÀÔ·Â °ªÀ» »ç¿ëÀڷκÎÅÍ ÀԷ¹ÞÀ» ¶§ ȤÀº °ü·Ã À¥ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ÆÄÀÏ À̸§ º¯¼ö¸¦ ³Ñ°Ü¹ÞÀ» ¶§ ÇØ´ç º¯¼ö¿¡ »ó´ë°æ·Î°¡ Æ÷ÇԵǾî ÀÖ´ÂÁö ¼Ò½º·¹º§¿¡¼­ °Ë»ç¸¦ ÇØ¾ß ÇÑ´Ù. À̸¦Å×¸é ÆÄÀÏÀÇ À̸§¿¡ ../../../../../../../ ȤÀº .\..\..\..\..\..\ µîÀÇ »ó´ë°æ·Î°¡ Æ÷ÇԵǾî ÀÖÀ» ¶§¿¡´Â ½ÇÇàÀ» Áß´ÜÇÏ¿© ÁÖ¿ä ÆÄÀÏ·ÎÀÇ ºÒ¹ýÀûÀÎ Á¢±ÙÀ» Â÷´ÜÇØ¾ß ÇÑ´Ù.

  ´Ù. Ãë¾à¼º ÆÇ´Ü

  ¡Ü °Ô½ÃÆÇ ¶Ç´Â °øÁö»çÇ×, ÀÚ·á½Ç µî¿¡¼­ cgi, jsp, php µîÀÇ ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© ÆÄÀÏÀ» ´Ù¿î¹Þ´Â ÆäÀÌÁö°¡ ÀÖ´ÂÁö Á¶»çÇÑ´Ù.

  ¡Ü ÇØ´ç ȨÆäÀÌÁöÀÇ ÆÄÀÏ ´Ù¿î¹Þ±â ÁÖ¼Ò¿¡¼­ ´Ù¿î¹Þ´Â ÆÄÀϸíÀ» ½Ã½ºÅÛÀÇ Áß¿äÇÑ ÆÄÀÏÀÇ À§Ä¡¿Í À̸§À¸·Î ġȯÇÑ ÈÄ À¥ ÁÖ¼Ò Ã¢¿¡ ÀÔ·ÂÇÏ¿© Áß¿ä ÆÄÀÏÀÌ ´Ù¿î¹Þ¾Æ Áö´ÂÁö Á¶»çÇÑ´Ù.

  ¡Ü Áß¿ä ÆÄÀÏÀÌ ´Ù¿î·Îµå°¡ µÇ¸é ÇØ´ç Ãë¾àÁ¡ÀÌ Á¸ÀçÇÏ´Â °ÍÀÌ´Ù.

2. º¸È£ ´ëÃ¥

  °¡. ¼­¹öº° º¸¾È´ëÃ¥

  ¡Ü ÆÄÀÏ ´Ù¿î·ÎµåÀÇ Ãë¾à¼ºÀº ÁÖ·Î ÆÄÀÏÀÇ À̸§À» Á¶ÀÛÇÏ´Â µ¥¼­ ºñ·ÔÇÑ´Ù. ´Ù¿î·Îµå ÆÄÀÏÀÇ À̸§À» µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇÏ°í ´Ù¿î·Îµå ¼öÇà ½Ã ¿äû ÆÄÀÏ À̸§°ú ºñ±³ÇÏ¿© ÀûÀýÇÑÁö È®ÀÎÇÏ¿© »ç¿ëÀÚ°¡ Á¶ÀÛÇÒ ¼ö ÀÖ´Â º¯¼ö¸¦ Á¦°ÅÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. ¶ÇÇÑ ´Ù¿î·Îµå À§Ä¡´Â ÁöÁ¤µÈ µ¥ÀÌÅÍ ÀúÀå¼Ò¸¦ °íÁ¤ÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.

  ¡Ü ÇÁ·Î±×·¥ ³»¿¡¼­ ÆÄÀÏÀ» ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Â µð·ºÅ丮¸¦ ƯÁ¤ µð·ºÅ丮·Î ÇÑÁ¤Çϰí ÀÌ¿ÜÀÇ ´Ù¸¥ µð·ºÅ丮¿¡¼­´Â ÆÄÀÏÀ» ´Ù¿î¹ÞÀ» ¼ö ¾øµµ·Ï ÇÁ·Î±×·¥À» ¼öÁ¤ÇÑ´Ù.

  ¡Ü PHP¸¦ »ç¿ëÇÏ´Â °æ¿ì php.ini ¿¡¼­ magic_quotes_gpc ¸¦ OnÀ¸·Î ¼³Á¤ÇÏ¿©¡°.\./¡±¿Í °°Àº ¿ª ½½·¡½Ã ¹®ÀÚ¿¡ ´ëÇØ ´ëÀÀµµ °¡´ÉÇÏ´Ù.


Á¦9Àý °³¹ß º¸¾È °ü¸®

1. Ãë¾àÁ¡ ¼³¸í

°¡. °³¿ä

  À¥ ¾îÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ À־ ÁöÄÑ¾ß ÇÒ º¸¾È »çÇ×Àº ¸Å¿ì ¸¹´Ù. ±× Áß Ã¹ ¹øÂ° ÇØ¾ß ÇÒ ÀÛ¾÷Àº ¼­ºñ½º¿¡ »ç¿ëÇÏ´Â À¥ ¼­¹ö¿Í À¥ ¾îÇø®ÄÉÀÌ¼Ç ¼­¹öÀÇ È¯°æ ¼³Á¤¿¡ ´ëÇØ º¸¾È °­È­ °¡À̵å¶óÀÎÀ» ¸¸µå´Â °ÍÀÌ´Ù.

  ³ª. °³¹ß º¸¾È °¡À̵å

  (1) »ç¿ëÀÚ¿¡°Ô Àü´ÞµÈ °ª(HIDDEN form Çʵå, parameter)¸¦ Àç»ç¿ëÇÒ °æ¿ì ½Å·ÚÇØ¼­´Â ¾ÈµÈ´Ù.
  ÁַΠȸ¿øÁ¤º¸ º¯°æ ¸ðµâ¿¡ »ç¿ëÀÚÀÇ key°ª(¿¹: id)¸¦ hidden form Çʵå·Î Àü¼ÛÇÑ ÈÄ, À̸¦ ´Ù½Ã ¹Þ¾Æ¼­ update¿¡ »ç¿ëÇÏ´Â °æ¿ì°¡ Àִµ¥, °ø°ÝÀÚ°¡ ÀÌ °ªÀ» º¯°æÇÒ °æ¿ì ´Ù¸¥ »ç¿ëÀÚÀÇ Á¤º¸¸¦ º¯°æÇÒ ¼ö ÀÖ´Â Ãë¾àÁ¡ÀÌ Á¸ÀçÇÑ´Ù.

  ¡Ü Á¡°Ë¹æ¹ý
    : HTML ¼Ò½º¿¡¼­ FORM Çʵå È®ÀÎ ÈÄ, ÇØ´ç °ªÀÌ ¾î¶»°Ô »ç¿ëµÇ´ÂÁö¸¦ ¼Ò½º¿¡¼­ È®ÀÎÇØ¾ß ÇÑ´Ù.

  ¡Ü Á¶Ä¡¹æ¹ý
    : ÇØ´ç °ªÀÇ ¹« °á¼ºÀ» °Ë»çÇÒ ¼ö ÀÖ´Â ·çƾ(¿¹, ÇØ½¬°ª ºñ±³)ÀÇ Ãß°¡ ¶Ç´Â ¼­¹ö ¼¼¼ÇÀ» »ç¿ëÇÑ´Ù.

  (2) ÃÖÁ¾ ÅëÁ¦ ¸ÞÄ¿´ÏÁòÀº ¹Ýµå½Ã ¼­¹ö¿¡¼­ ¼öÇàµÇ¾î¾ß ÇÑ´Ù.
  Javascript, VBscript µîÀ» »ç¿ëÇÑ »ç¿ëÀÚ ÀÔ·Â °ª Á¡°Ë ·çƾÀº ¿ìȸµÉ ¼ö Àֱ⠶§¹®¿¡, ¼­¹ö¿¡¼­ ÃÖÁ¾ Á¡°ËÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù. ¹°·Ð ¼­¹öÀÇ ºÎÇϸ¦ ÁÙÀ̱â À§Çؼ­ 1Â÷ÀûÀ¸·Î Ŭ¶óÀÌ¾ðÆ® ·¹º§¿¡¼­ Á¡°ËÇÒ ¼ö ÀÖÀ¸³ª º¸¾È ÅëÁ¦ ¼ö´ÜÀ¸·Î »ç¿ëÇÒ ¼ö ¾ø´Ù. ÷ºÎÆÄÀÏ ¾÷·Îµå ±â´É¿¡ ½ºÅ©¸³Æ® ÆÄÀÏÀÇ Àü¼ÛÀ» Á¦ÇÑÇϱâ À§Çؼ­ ÆÄÀÏ È®ÀåÀÚ °Ë»ç¸¦ script¸¦ »ç¿ëÇØ¼­ À¥ ºê¶ó¿ìÀú ·¹º§¿¡¼­ ¼öÇàÇÒ °æ¿ì, °ø°ÝÀÚ´Â ÇØ´ç script¸¦ ¿ìÈ¸ÇØ¼­ ¼­¹ö¿¡ ¿øÇÏ´Â ½ºÅ©¸³Æ® ÆÄÀÏÀ» Àü¼ÛÇÒ ¼ö ÀÖ´Ù.

  ¡Ü Á¡°Ë¹æ¹ý
    : HTML ¹× À¥ ¾îÇø®ÄÉÀÌ¼Ç ¼Ò½º ¸®ºä

  (3) Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Áß¿ä Á¤º¸¸¦ Àü´ÞÇÏÁö ¾Ê´Â´Ù.
  Java Applet, ActiveX¸¦ »ç¿ëÇØ¼­ C/S ¾îÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÏ´Â °æ¿ì, Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ½ÇÇàµÇ´Â ÄÄÆ÷³ÍÆ®¿¡ Áß¿ä Á¤º¸¸¦ Çϵå ÄÚµùÇØ¼­´Â ¾ÈµÈ´Ù. Cookie¿¡ Áß¿ä Á¤º¸¸¦ Àü´ÞÇÒ °æ¿ì ¾ÏÈ£È­ÇØ¼­ »ç¿ëÇØ¾ß ÇÑ´Ù.

  ¡Ü Á¡°Ë¹æ¹ý
    - HTML ¼Ò½º ¸®ºä
    - URL ÁÖ¼Ò¿¡ javascript:document.cookie¸¦ ÀÔ·ÂÇØ¼­ ÄíŰ ³»¿ë È®ÀÎ

  (4) Áß¿ä Á¤º¸ Àü¼Û ½Ã POST Method ¹× SSLÀ» Àû¿ëÇÑ´Ù.
  »ç¿ëÀڷκÎÅÍ Áß¿ä Á¤º¸¸¦ ¹ÞÀ» ¶§´Â POST Method¸¦ »ç¿ëÇØ¾ß Çϸç, ±× Á߿䵵¿¡ µû¶ó SSLÀ» »ç¿ëÇÑ ¾Ïȣȭ Åë½ÅÀ» Àû¿ëÇØ¾ß ÇÑ´Ù. SSLÀº ÀÚ·á Àü¼Û ½Ã ¾Ïȣȭ¸¦ Áö¿øÇϹǷÎ, ¹Î°¨ÇÑ Á¤º¸´Â ¾îÇø®ÄÉÀÌ¼Ç ·¹º§ÀÇ ¾Ïȣȭ¸¦ °í·ÁÇØ¾ß ÇÑ´Ù.

  ¡Ü Á¡°Ë¹æ¹ý
    : Áß¿ä Á¤º¸ Àü´Þ FORM ACTION¿¡ »ç¿ëµÈ ÇÁ·ÎÅäÄÝÀÌ¡°HTTPS¡±·Î µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÔ

  (5) Áß¿äÇÑ Æ®·»Á§¼ÇÀÌ ÀϾ´Â ÇÁ·Î¼¼½º¿¡ »ç¿ëÀÚÀÇ ºñ¹Ð¹øÈ£¸¦ ÀçÈ®ÀÎÇÑ´Ù.
  »ç¿ëÀÚÀÇ °³ÀÎÁ¤º¸º¯°æ ÇÁ·Î¼¼½º¿¡ ºñ¹Ð¹øÈ£ ÀçÈ®ÀÎÇÏ´Â ·çƾÀ» Ãß°¡ÇÒ °æ¿ì ºÒ¹ýÀûÀÎ À§ÀåÀ¸·Î ÀÎÇÑ Ãß°¡ ÇÇÇØ¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù.

  ¡Ü Á¡°Ë ¹æ¹ý
    : ÇØ´ç ÇÁ·Î¼¼½º È®ÀÎ

  (6) Áß¿ä Á¤º¸¸¦ º¸¿©ÁÖ´Â ÆäÀÌÁö´Â ij½¬¸¦ »ç¿ëÇÏÁö ¸øÇϵµ·Ï ¼³Á¤ÇÑ´Ù.
  Áß¿ä Á¤º¸¸¦ º¸¿©ÁÖ´Â È­¸é¿¡ no-cache ¼³Á¤À» ÇÏÁö ¾ÊÀ» °æ¿ì, ·Î±×¾Æ¿ôÀ» ÇÑ ÀÌÈÄ¿¡µµ [µÚ·Î°¡±â] ¹öưÀ» »ç¿ëÇØ¼­ ÇØ´ç ³»¿ëÀ» º¼ ¼ö ÀÖ´Â À§ÇèÀÌ Á¸ÀçÇÑ´Ù.

  ¡Ü Á¡°Ë¹æ¹ý
    : Áß¿ä Á¤º¸ ÆäÀÌÁö¸¦ ¿­¾îº» ÈÄ, ·Î±×¾Æ¿ôÀ» ÇÑ´Ù. À¥ ºê¶ó¿ìÀúÀÇ¡°µÚ·Î°¡±â¡±¹öưÀ» Ŭ¸¯ ÇÏ¿´À» ¶§ ÀÌÀü ³»¿ëÀÌ º¸ÀÌ´ÂÁö È®ÀÎ

  ¡Ü Á¶Ä¡¹æ¹ý
  - no-cache ¼³Á¤À» À§Çؼ­ HTML HEAD ºÎºÐ¿¡ ¾Æ·¡ ³»¿ëÀ» Ãß°¡ÇÑ´Ù.

  (7) ÀûÀýÇÑ ¹æ¹ýÀ¸·Î ¾ÏȣȭÇÑ´Ù.
  ÀÚü °³¹ßÇÑ ¾Ïȣȭ ¾Ë°í¸®Áò »ç¿ëÀ» Áö¾çÇϸç, °øÀÎµÈ ¾Ïȣȭ ¾Ë°í¸®Áò(3DES, SEED, AESµî)À» »ç¿ëÇÏ´Â °ÍÀ» °í·ÁÇØ¾ß ÇÑ´Ù. ¾Ïȣȭ۸¦ »ç¿ëÇÏÁö ¾Ê´Â ¾Ë°í¸®ÁòÀº ¾Ïȣȭ ¾Ë°í¸®ÁòÀÌ ¾Æ´Ï¶ó, ´Ü¼ø ÀÎÄÚµù ¾Ë°í¸®ÁòÀ¸·Î ±â¹Ð¼ºÀ» º¸ÀåÇÒ ¼ö ¾ø´Ù. ¾ÏȣȭŰ´Â ¼Ò½º¿¡ hard-codingµÇ¾î¼­´Â ¾ÈµÇ¸ç, Á¦ÇÑµÈ »ç¶÷¸¸ÀÌ Á¢±ÙÀÌ °¡´ÉÇϵµ·Ï ÇØ¾ß ÇÑ´Ù.

  (8) °¢ ¾ð¾î¿¡¼­ Á¦°øÇÏ´Â º¸¾È ¼ö´ÜÀ» ÀÌÇØÇÑ ÈÄ »ç¿ëÇÑ´Ù.

  ¡á Java

  ¡Ü Java Class ¿ª ÄÄÆÄÀÏ ¹®Á¦
  Java ¾ð¾îÀÇ Byte-code Ư¼ºÀ¸·Î ÀÎÇÏ¿© Java class´Â ½±°Ô ¿ª ÄÄÆÄÀÏÀÌ °¡´ÉÇÏ´Ù. ¸¸¾à Java Applet¿¡ Áß¿ä Á¤º¸ (¿¹, ¿ø°ÝÁö Á¢¼ÓÀ» À§ÇÑ ID/PW, DB Query, Á÷Á¢ Á¦ÀÛÇÑ ¾Ïȣȭ ¾Ë°í¸®Áò, ÇÁ·Î±×·¥ ·ÎÁ÷µî)À» hard-coding Çß´Ù¸é, À̸¦ ¹ß°ßÇÑ °ø°ÝÀÚ´Â ÇØ´ç Á¤º¸¸¦ ¾Ç¿ëÇÒ ¼ö ÀÖ´Â À§ÇèÀÌ Á¸ÀçÇÑ´Ù. µû¶ó¼­ ¿ÜºÎ·Î Àü¼ÛµÇ´Â Java class ÆÄÀÏ¿¡´Â Áß¿ä Á¤º¸¸¦ hard-codingÇÏ´Â °ÍÀ» Áö¾çÇØ¾ß ÇÑ´Ù.

  ¡Ü Sun Microsystems¿¡¼­ Java ÇÁ·Î±×·¥ °³¹ß ½Ã °í·ÁÇØ¾ßÇÒ ´Ù¾çÇÑ º¸¾È »çÇ×À» Á¦°øÇϰí ÀÖ´Ù.
    - Secure Code guidelines(Sun Microsystems) :
      http://www.java.sun.com/security/seccodeguide.html

  ¡á ASP (Visual Basic, C++, C#µîÀ» »ç¿ëÇÑ ¸ðµç ASP¿¡ Àû¿ë)

  ¡Ü include ÆÄÀÏÀ» º¸È£ÇÏÀÚ.
    - ÀϹÝÀûÀÎ µð·ºÅ丮(/lib, /include, /library µî)¸¦ »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.
    - include ÆÄÀϵéÀÇ È®ÀåÀÚ¸¦ .inc³ª .libµîÀ» »ç¿ëÇÏ´Â °æ¿ì À¥ ÆäÀÌÁö »ó¿¡¼­ ÅØ½ºÆ® ÆÄÀÏ·Î ÀνÄÇÏÁö ¾Êµµ·Ï .asp¸¦ ºÙ¿©¼­ »ç¿ëÇÑ´Ù.
    (¿¹: config.inc.asp, lib.inc.aspµî)
    - º°µµÀÇ È®ÀåÀÚ¸¦ »ç¿ëÇÒ °æ¿ì ¾Æ·¡¿Í °°ÀÌ ÇØ´ç È®ÀåÀÚ¸¦ ó¸®ÇÒ ¼ö ÀÖµµ·Ï À¥ ¼­¹ö¿¡¼­ ¼³Á¤ÇÏ¿© ÁØ´Ù.


  ¡Ü Server.HTMLEncode
    - ¿ëµµ : ƯÁ¤ ¹®ÀÚ¿­¿¡ ´ëÇÑ HTML encodingÀ» ¼öÇàÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ¸·Î HTML ÆäÀÌÁö¸¦ ±¸¼ºÇϱâ Àü¿¡ »ç¿ëÇϸé Cross-Site scripting °ø°Ý µî¿¡ È¿°úÀûÀÌ´Ù.
    - Àû¿ë °¡´ÉÇÑ IIS : IIS 5.0ÀÌ»ó
    - »ç¿ë¹ý

    - °á°ú

  ¡Ü Session.Abandon
    - ¿ëµµ : Session °´Ã¼¿¡ ÀúÀåµÇ¾î ÀÖ´Â ¸ðµç Á¤º¸¸¦ »èÁ¦ÇÑ´Ù. »ç¿ëÀÚ ·Î±× ¾Æ¿ô ÇÁ·Î¼¼½º¿¡ »ç¿ëÇØ¼­ ±âÁ¸ ¼¼¼Ç Á¤º¸¸¦ º¸È£Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    - Àû¿ë °¡´ÉÇÑ IIS : IIS 5.0ÀÌ»ó
    - »ç¿ë¹ý

  ¡Ü Session.Timeout
    - ¿ëµµ : Session °´Ã¼¿¡ Time-out ½Ã°£À» ºÐ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. »ç¿ëÀڷκÎÅÍ ÁöÁ¤µÈ ½Ã°£µ¿¾È ¿äûÀÌ ¾øÀ» °æ¿ì ¼¼¼ÇÀÌ ÀÚµ¿À¸·Î ²÷¾îÁø´Ù.
    - Àû¿ë °¡´ÉÇÑ IIS : IIS 5.0ÀÌ»ó
    - »ç¿ë¹ý
      􀓋 Session.Timeout : ¼¼¼Ç Timeout ½Ã°£À» ±âº»°ªÀÎ 10ºÐÀ¸·Î ¼³Á¤ÇÑ´Ù.
      􀓋 Session.Timeout = 15 : ¼¼¼Ç Timeout ½Ã°£À» ¸í½ÃÇÑ´Ù.
            (±ÇÀå ½Ã°£ : 4ºÐ ~ 20ºÐ)

  ¡Ü ASPError °´Ã¼ÀÇ outputÀ» »ç¿ëÀÚ¿¡°Ô Àü´ÞÇÏÁö ¸»ÀÚ.

  ¡Ü DB Á¢±ÙÀ» À§Çؼ­ COM+ °´Ã¼ »ç¿ëÀ» °í·ÁÇÏÀÚ

  ¡Ü SQL Äõ¸®¸¦ ASP¿¡¼­ Á÷Á¢ »ý¼ºÇÏ´Â °ÍÀ» Áö¾çÇϰí, Stored procedure¸¦ »ç¿ëÇϵµ·Ï°í·ÁÇÏÀÚ.
    - Á÷Á¢ »ý¼º ¹æ½Ä

    - Stored procedure¸¦ »ç¿ëÇÑ »ý¼º ¹æ½Ä


  ¡á PHP

  ¡Ü [PHP 4.0 ÀÌ»ó] ȯ°æ ¼³Á¤(php.ini) ³»¿ë Áß register_globalÀ»¡°on¡±À¸·Î ¼³Á¤ÇÒ °æ¿ì, PHP ½ºÅ©¸³Æ®ÀÇ º¯¼ö °ªÀ» ÀÓÀÇ·Î º¯°æÇÒ ¼ö ÀÖ´Â Ãë¾à¼ºÀÌ ÀÖ´Ù. µû¶ó¼­ register_globalÀº¡°off¡±·Î ¼³Á¤ÇÑ ÈÄ, $_GET, $_POST ¹®À» »ç¿ëÇØ¼­ »ç¿ëÀÚ°¡ Àü´ÞÇÑ °ªÀ» ¾ò¾î¾ß ÇÑ´Ù.

  ¡Ü PHP ½ºÅ©¸³Æ® ¿À·ù¸¦ »ç¿ëÀÚ¿¡°Ô º¸³»Áö ¾Ê±â À§Çؼ­ PHP ȯ°æ ¼³Á¤ ÆÄÀÏ(php.ini)¿¡¼­ ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇÑ´Ù.

  ¡Ü utf8_decode()
    - ¿ëµµ : UTF-8 Çü½ÄÀÇ ÀÔ·Â °ªÀ» ISO-8859-1 Çü½ÄÀ¸·Î ÀüÈ¯ÇØÁØ´Ù. ÇÊÅ͸µ ±ÔÄ¢À» Àû¿ëÇϱâ Àü¿¡ »ç¿ëÇÒ °ÍÀ» ±ÇÀåÇÑ´Ù.
    - Àû¿ë °¡´ÉÇÑ PHP ¹öÀü : PHP 3.0.6 ÀÌ»ó

  ¡Ü strip_tags()
    - ¿ëµµ : ¹®ÀÚ¿­·ÎºÎÅÍ HTML ÅÂ±×¿Í PHP ű׸¦ ¾ø¾Ø´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ» HTML È­¸é¿¡ Ãâ·ÂÇÒ °æ¿ì »ç¿ëÇØ¼­ Cross-Site scripting °ø°Ý¿¡ ´ëºñÇÒ ¼ö ÀÖ´Ù.
    - Àû¿ë °¡´ÉÇÑ PHP : PHP 3.0.8 ÀÌ»ó
    - »ç¿ë¹ý
      􀓋strip_tags¡®( <script>¡¯); : ¸ðµçHTML¿¡¼­<script> ű׸¦Á¦°ÅÇÑ´Ù.
      􀓋strip_tags¡®( <script>¡¯,¡® <script<iframe>¡¯)
          : ù¹øÂ° ÀÎÀÚ·Î Àü´ÞµÈ ¹®ÀÚ¿­Àº Á¦°ÅÇϰí, µÎ¹øÂ° ÀÎÀÚ·Î ÁöÁ¤µÈ ű״ Çã¿ëÇÑ´Ù.

  ¡Ü htmlspecialchars()
    - ¿ëµµ : ƯÁ¤ ¹®ÀÚ¿­¿¡ ´ëÇÑ HTML encodingÀ» ¼öÇàÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ¸·Î HTML ÆäÀÌÁö¸¦ ±¸¼ºÇϱâ Àü¿¡ »ç¿ëÇϸé Cross-Site scripting °ø°Ý ´ëºñ¸¦ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    - Àû¿ë °¡´ÉÇÑ PHP : PHP 3 ÀÌ»ó
    - »ç¿ë¹ý

    - °á°ú

  ¡Ü addslashes()
    - ¿ëµµ : DB Query¿Í °°ÀÌ ÀοëµÈ ºÎºÐ¾Õ¿¡ ¿ª½½·¡½¬¸¦ ºÐ¿©¼­ ¹ÝȯÇÑ´Ù. ÇØ´ç ¹®ÀÚ¿¡´Â ÀÛÀº µû¿ÈÇ¥, Å« µû¿ÈÇ¥, ¿ª½½·¡½¬, NULLÀÌ ÀÖ´Ù. SQL Injection °ø°ÝÀ» À§Çؼ­ »ç¿ëÇÑ´Ù.
    - Àû¿ë °¡´ÉÇÑ PHP ¹öÀü : PHP 3 ÀÌ»ó

¡Ü include ÆÄÀÏÀ» º¸È£ÇÏÀÚ.
    - ÀϹÝÀûÀÎ µð·ºÅ丮(/lib, /include, /libraryµî)¸¦ »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.
    - include ÆÄÀϵéÀÇ È®ÀåÀÚ¸¦ .inc³ª .lib µîÀ» »ç¿ëÇÏ´Â °æ¿ì À¥ ÆäÀÌÁö »ó¿¡¼­ ÅØ½ºÆ® ÆÄÀÏ·Î ÀνÄÇÏÁö ¾Êµµ·Ï .php¸¦ ºÙ¿©¼­ »ç¿ëÇÑ´Ù. (¿¹: config.inc.php, lib.inc.php µî)
    - º°µµÀÇ È®ÀåÀÚ¸¦ »ç¿ëÇÒ °æ¿ì ¾Æ·¡¿Í °°ÀÌ ÇØ´ç È®ÀåÀÚ¸¦ ó¸®ÇÒ ¼ö ÀÖµµ·Ï À¥ ¼­¹ö¿¡¼­ ¼³Á¤ÇÏ¿© ÁØ´Ù.

  ¡Ü session_destroy
    - ¿ëµµ : Session °´Ã¼¿¡ ÀúÀåµÇ¾î ÀÖ´Â ¸ðµç Á¤º¸¸¦ »èÁ¦ÇÑ´Ù. »ç¿ëÀÚ ·Î±× ¾Æ¿ô ÇÁ·Î¼¼½º¿¡ »ç¿ëÇØ¼­ ±âÁ¸ ¼¼¼Ç Á¤º¸¸¦ º¸È£Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    - Àû¿ë °¡´ÉÇÑ PHP ¹öÀü : PHP 3 ÀÌ»ó

¡Ü À¥ ¾îÇø®ÄÉÀÌ¼Ç Ãë¾à¼º Á¡°Ë µµ±¸¸¦ »ç¿ëÇÑ´Ù.
    - À¥ ¾îÇø®ÄÉÀÌ¼Ç Ãë¾à¼º Á¡°ËÀ» À§Çؼ­ ÀÚµ¿È­ ÅøÀ» »ç¿ëÇØ¼­ ÀϹÝÀûÀÎ Ãë¾àÁ¡À» Á¦°ÅÇÑ´Ù.
    - °ø°³ µµ±¸µé
      􀓋 Nikto(°ø°³ÇÁ·Î±×·¥) - http://www.cirt.net/code/nikto.shtml
      􀓋 Whisker(°ø°³ÇÁ·Î±×·¥) - http://www.wiretrip.net
      􀓋 Retina(»ó¿ëÇÁ·Î±×·¥-eEye) - http://www.eeye.com


Á¦10Àý ºÎÀûÀýÇÑ È¯°æ¼³Á¤(¼­¹ö ¼³Á¤°ü·Ã)

1. Ãë¾àÁ¡ ¼³¸í

  °¡. °³¿ä

  ºÎÀûÀýÇÑ È¯°æ ¼³Á¤À̶õ À¥ ¾îÇø®ÄÉÀ̼ÇÀ» ¿î¿µÇϴµ¥ À־ °³¹ßÀÚ¿Í ½Ã½ºÅÛ °ü¸®ÀÚµéÀÌ ÀÚÁÖ ½Ç¼ö·Î ³õÄ¡°Ô µÇ¾î ¹ß»ýÇÏ´Â ¹®Á¦µéÀ» ¸»ÇÑ´Ù. Å×½ºÆ® ÆÄÀÏÀ̳ª sample ÆÄÀÏ, À¥ ¼­¹ö ¼³Ä¡ ½Ã ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ´Â ÆÄÀÏ ¶Ç´Â °ü¸®ÀÚ³ª ¿î¿µÀÚ°¡ Àӽ÷Π¸¸µé¾î ³õÀº ÆÄÀϵéÀÌ ¾Æ¹«·± Á¢±Ù ±ÇÇÑ ¾øÀÌ À¥ Ȩ µð·ºÅ丮¿¡ ³õ¿© ÀÖÀ» °æ¿ì ÀÏ¹Ý »ç¿ëÀÚ°¡ ÀÌ ÆÄÀϸíÀ» Á÷Á¢ ÀÔ·ÂÇÏ¿© µð·ºÅ丮 Á¤º¸, ½Ã½ºÅÛÁ¤º¸ ¹× Áß¿äÇÑ ÆÄÀÏ Á¤º¸¸¦ ȹµæÇÒ ¼ö ÀÖ´Ù.

  ³ª. À§Çù »ç·Ê

  (1) ¹é¾÷ ÆÄÀÏÀÇ ³ëÃâ
  ÀϹÝÀûÀ¸·Î °ü¸®Àڴ ȨÆäÀÌÁö »ó¿¡¼­ ÀÛÀº ¼öÁ¤À» À§ÇØ ±âÁ¸ ȨÆäÀÌÁö ÆÄÀÏÀÇ ¿øº»À» Àӽ÷ΠÀúÀåÇÒ ¼ö ÀÖ´Ù. ȤÀº ´ëºÎºÐÀÇ Text Àü¿ë ¿¡µðÅÍÀÇ °æ¿ì ¼öÁ¤À» À§ÇØ ±âÁ¸ ¿øº»À» ƯÁ¤ È®ÀåÀÚ¸¦ »ç¿ëÇÏ¿© ÀúÀåÇÒ ¼ö ÀÖ´Ù. ¹®Á¦´Â ÀÌ·¯ÇÑ Æ¯Á¤ È®ÀåÀÚÀÇ ÆÄÀϵéÀÌ ¼­¹ö¿¡¼­ ÀûÀýÇÏ°Ô Ã³¸®µÇÁö ¸øÇÒ °æ¿ì ¼Ò½º°¡ À¯Ãâ µÉ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.

  À§ ±×¸²°ú °°ÀÌ .bak ÆÄÀÏÀ» ÀûÀýÈ÷ ó¸®ÇÏÁö ¸øÇÏ¿© °ø°ÝÀÚÀÇ ¿äû¿¡ text ÆÄÀÏ ±×´ë·Î Ãâ·ÂÀ» ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ¼Ò½º À¯ÃâÀº À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ º¸¾È¿¡ Ä¡¸íÀûÀÌ´Ù.

  ¹é¾÷ ÆÄÀÏÀÌ À¥ ¼­¹ö¿¡ Á¸Àç´Â °ÍÀº ¼Ò½º ³ëÃâÀ̳ª DBÁ¤º¸ ³ëÃâ µîÀÇ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ¸¹Ç·Î À¥ ¼­¹ö»óÀÇ ºÒÇÊ¿äÇÑ ¹é¾÷ ÆÄÀϵéÀº ¸ðµÎ »èÁ¦Çϵµ·Ï ÇÑ´Ù.

  (2) µð·ºÅ丮 ¸®½ºÆÃ (Directory Listing ¶Ç´Â Directory Traversal)
  À¥ ¼­¹ö¿¡´Â ÇöÀç ºê¶ó¿ì¡ ÇÏ´Â µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀϵéÀ» »ç¿ëÀÚ¿¡°Ô º¸¿© ÁÙ ¼ö ÀÖ´Â µð·ºÅ丮 À妽º ±â´ÉÀÌ ´ëºÎºÐ Á¸ÀçÇÑ´Ù. ±×·¯³ª ÀÌ·± ¼³Á¤ÀÌ È°¼ºÈ­µÇ¾î ÀÖ´Â °æ¿ì °ø°ÝÀÚ°¡ À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶¸¦ ÆÄ¾ÇÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇØ ÁÖ¸ç, ¹Î°¨ÇÑ Á¤º¸°¡ Æ÷ÇÔµÈ ¼³Á¤ ÆÄÀÏÀ» Á¶È¸ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. À̰ÍÀº º¸¾È»ó ¸Å¿ì À§ÇèÇÏ¸ç µû¶ó¼­ ÀÌ ±â´ÉÀ» ÁߴܽÃÄÑ¾ß ÇÑ´Ù.

  À¥ ¼­¹öº°·Î ÀÌ·¯ÇÑ ±â´ÉÀ» ¼³Á¤ÇÏ´Â ¿É¼ÇÀÌ Á¸ÀçÇϹǷΠµð·ºÅ丮 º°·Î ÀÌ·¯ÇÑ µð·ºÅ丮 ¸®½ºÆÃÀÌ ºÒ°¡Çϵµ·Ï ¼³Á¤ÇØ¾ß ÇÑ´Ù.

  (3) ¼³Á¤ ÆÄÀÏ ¹× ȯ°æº¯¼ö ³ëÃâ
  ÀϹÝÀûÀ¸·Î À¥ ¾îÇø®ÄÉÀ̼ÇÀ» ¼³Á¤Çϱâ À§ÇØ À§Ä¡ÇÏ´Â ÆÄÀϵéÀº ½Ã½ºÅÛÀ̳ª DB¿¡ °ü·ÃÇÑ ¸¹Àº Á¤º¸¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. ÀÌ·± ÆÄÀϵéÀÌ °ø°ÝÀÚ¿¡°Ô ³ëÃâµÉ °æ¿ì °ø°ÝÀÚ¿¡°Ô ½Ã½ºÅÛÀÇ ¸¹Àº Á¤º¸¸¦ Á¦°øÇÏ°Ô µÈ´Ù. À̰ÍÀº º¸¾È»ó ¸Å¿ì À§ÇèÇÑ ÀÏÀÌ´Ù.

  ÀÏ·Ê·Î PHP¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡´Â ±âº»ÀûÀ¸·Î phpinfo.php ¶ó´Â ÆÄÀÏÀÌ À¥ ¼­¹ö root ¿¡ ¼³Ä¡Çϰųª ¶Ç´Â °³¹ß ½Ã ½Ã½ºÅÛ È¯°æÀ» ÂüÁ¶Çϱâ À§ÇØ Á÷Á¢ ÀÛ¼ºÇÏ¿© »ç¿ëÇÑ´Ù. ÀÌ phpinfo.php´Â ½Ã½ºÅÛÀÌ Á¤»óÀûÀ¸·Î ¼³Ä¡µÇ¾ú´Â°¡¿Í ȯ°æº¯¼ö¿¡ ´ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù.

  ´ëºÎºÐÀÇ À¥ ¼­¹ö³ª À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì À̸¦ °ü¸®Çϱâ À§ÇÑ ¼³Á¤ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù. ƯÈ÷ À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì À¥¿¡¼­ °ü¸®¸¦ ÇÏ´Â °æ¿ì ÀÌ¿¡ ´ëÇÑ ¼³Á¤ÆÄÀÏÀÌ ¿ÜºÎ¿¡ °ø°³µÇ±â ½±´Ù. ÀÌ·¯ÇÑ ¼³Á¤ÆÄÀÏÀÇ °æ¿ì ÃÖ¼ÒÇÑ ¿ÜºÎ¿¡ °ø°³µÉ ¼ö ÀÖ´Â °ÍÀº ÁÙÀÌ´Â °ÍÀÌ ÁÁ´Ù. ÆÄÀÏÀÇ ±ÇÇÑ ¼³Á¤À» ÅëÇØ À̸¦ ¸·À» ¼ö ÀÖ´Ù.

  (4) °èÁ¤ »ç¿ë Á¤º¸ ³ëÃâ
  ȨÆäÀÌÁö µð·ºÅ丮 ³»¿¡ °ü¸®»óÀÇ ºÎÁÖÀÇ·Î ÀÎÇØ Á¢¼Ó °èÁ¤ÀÇ È÷½ºÅ丮 ÆÄÀÏÀÌ ³²¾ÆÀÖ´Â °æ¿ì°¡ ÀÖ´Ù.


2. º¸È£ ´ëÃ¥

  °¡. ÀÏ¹Ý ´ëÃ¥

  ¸ÕÀú À¥ ¼­¹öÀÇ Á¾·ù¸¦ ÆÄ¾ÇÇϰí ÀÌ À¥ ¼­¹ö¿¡¼­ ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ´Â ÆÄÀϸíÀ» ÀÔ·ÂÇÏ¿© Áß¿äÇÑ ½Ã½ºÅÛ Á¤º¸, µð·ºÅ丮 Á¤º¸ µîÀÌ ÀÖ´ÂÁö Á¶»çÇÑ´Ù. À¥ Ãë¾àÁ¡ Á¡°Ëµµ±¸¸¦ ÀÌ¿ëÇÏ¿© ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ´Â Å×½ºÆ® ÆÄÀÏÀÌ Á¸ÀçÇÏ´ÂÁö Á¶»çÇÑ´Ù.

  ¡á Apache º¸¾È °­È­ ¼³Á¤

  ¡Ü ºÒÇÊ¿äÇÑ ÆÄÀÏ °ü¸®
  ȨÆäÀÌÁö ¼­¹ö¿¡ Å×½ºÆ® ÆÄÀϰú °°Àº ºÒÇÊ¿äÇÑ ÆÄÀÏÀ» »èÁ¦Çϰí ȨÆäÀÌÁö ¼­ºñ½º¿Í °ü·Ã ¾ø´Â µð·ºÅ丮(¹é¾÷µð·ºÅ丮 µî)´Â ÀϹݻç¿ëÀÚ°¡ Á¢±ÙÀÌ ºÒ°¡´ÉÇϵµ·Ï ÀûÀýÇÑ ±ÇÇÑ(µð·ºÅ丮 ¶Ç´Â ÆÄÀÏ Á¢±Ù±ÇÇÑ)À» ¼³Á¤ÇÑ´Ù.

  ¡Ü ÃÖ¼ÒÇÑÀÇ »ç¿ëÀÚ °èÁ¤ »ç¿ë
  ¾ÆÆÄÄ¡ ¿î¿µ ½Ã À§ÇèÀ» ÃÖ¼ÒÈ­Çϱâ À§Çؼ­ ÃÖ¼ÒÇÑÀÇ ±ÇÇÑÀ» °¡Áø »ç¿ëÀÚ ¾ÆÀ̵ð¿Í ±×·ìÀ¸·Î »ý¼ºÇÏ´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù. ù ¹øÂ°·Î ÀÌ »ç¿ëÀÚ´Â ·Î±×ÀÎÀ» ÇÒ ¼ö ¾øµµ·Ï ¿î¿µÃ¼Á¦ÀÇ °èÁ¤À» ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.

  µÎ ¹øÂ°·Î ¾ÆÆÄÄ¡ ¼³Á¤¿¡¼­´Â nobody ±ÇÇÑÀ¸·Î ½ÇÇàÇϵµ·Ï ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.

  À§ÀÇ ¼³Á¤À¸·Î ¾ÆÆÄÄ¡ ±¸µ¿ ÇÁ·Î¼¼½º´Â ÇÑ °³ÀÇ root ±ÇÇÑÀÇ ÇÁ·Î¼¼½º¿Í ³ª¸ÓÁö´Â nobody ±ÇÇÑÀ¸·Î ÇÁ·Î¼¼½º°¡ ½ÇÇàµÈ´Ù.

  ¡Ü µð·ºÅ丮 Indexes ¼³Á¤ Á¦°Å
  À¥ ºê¶ó¿ìÀú¿¡¼­ »ç¿ëÀÚ°¡ URLÀ» ÀÔ·ÂÇßÀ» °æ¿ì, ¾ÆÆÄÄ¡ À¥ ¼­¹ö´Â 3°¡Áö °æ¿ì·Î ÀÀ´äÇÑ´Ù.

  - Á¤»óÀûÀÎ À¥ ÆäÀÌÁö
  - µð·ºÅ丮 ³»¿ë ¸®½ºÆ®
  - ¿¡·¯ ¸Þ½ÃÁö

  ÀÌ Áß µð·ºÅ丮 ¸®½ºÆ®´Â °ø°ÝÀÚ¿¡°Ô ºÒÇÊ¿äÇÑ Á¤º¸¸¦ Á¦°øÇÏ¿© ½Ã½ºÅÛ¿¡ ´ëÇÑ ¸¹Àº Á¤º¸¸¦ ȹµæÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ µð·ºÅ丮 ³»ÀÇ ¸ðµç ÆÄÀϵéÀÌ ¸®½ºÆÃµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§Çؼ­´Â ¾Æ·¡¿Í °°ÀÌ httpd.conf ÆÄÀÏ¿¡¼­ DocumentRoot Ç׸ñÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

  ¡Ü ½Éº¼¸¯ ¸µÅ© »ç¿ë ¼³Á¤ Á¦°Å
  À¯´Ð½º °è¿­ÀÇ ½Ã½ºÅÛÀÎ °æ¿ì ½Éº¼¸¯ ¸µÅ© ±â´É(ln -s / system.html)À» »ç¿ëÇÏ¿© ´Ù¸¥ À§Ä¡ÀÇ ÆÄÀÏÀ̳ª µð·ºÅ丮¿Í ¿¬°áÇÏ¿© »ç¿ëÇÒ ¼ö Àִµ¥ ÀÌ·± °æ¿ì À¥¿¡¼­ Çã¿ëÇÏ´Â µð·ºÅ丮 ¿Ü¿¡ ´Ù¸¥ µð·ºÅ丮¸¦ ÂüÁ¶ÇÏ´Â ¸µÅ©°¡ Á¸ÀçÇÏ´Â °æ¿ì ÇØ´ç ¸µÅ©¸¦ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Â À§Ç輺ÀÌ Á¸ÀçÇÑ´Ù. ÀÌ À§Ç輺À» Á¦°ÅÇϱâ À§Çؼ­´Â µð·ºÅ丮 ¸®½ºÆ®¿Í ¸¶Âù°¡Áö·Î httpd.conf ÆÄÀÏ¿¡¼­ DocumentRoot Ç׸ñÀ» ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÑ´Ù.

  ¡Ü PUT, POST, DELETEÀÇ Á¦ÇÑ
  ¿ø°Ý »ç¿ëÀÚ°¡ DocumentRoot µð·ºÅ丮¿¡ ÆÄÀÏÀ» ¾÷·ÎµåÇϰųª ¼öÁ¤ÇÏ´Â µîÀÇ ÇàÀ§¸¦ ÇÏ´Â °ÍÀ» Á¦ÇÑÇϵµ·Ï ÇÏ¿©¾ß Çϴµ¥ ÀÌ·¯ÇÑ Á¦ÇÑÀÌ ÀûÀýÈ÷ ÀÌ·ç¾îÁöÁö ¾ÊÀ» °æ¿ì ȨÆäÀÌÁö°¡ º¯Á¶µÇ°Å³ª Ä§ÇØ¸¦ ÀÔÀ» ¼ö ÀÖ´Ù.
  µû¶ó¼­ POST, PUT, DELETE Method´Â Á¦ÇÑµÈ »ç¿ëÀÚ¸¸ °¡´ÉÇϵµ·Ï Çϰųª ¾Æ¹«µµ »ç¿ëÇÏÁö ¸øÇϵµ·Ï ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.

  ¡Ü Çì´õ Á¤º¸ ¼û±â°Å³ª ÃÖ¼ÒÈ­
  Ŭ¶óÀÌ¾ðÆ®¿Í Apache°¡ Åë½ÅÀ» ÇÒ °æ¿ì À¥ ¼­¹ö¿¡¼­´Â ÀÀ´ä ¸Þ½ÃÁöÀÇ Çì´õ¿¡ À¥ ¼­¹ö ¹öÀüÀ̳ª ÀÀ¿ë ÇÁ·Î±×·¥ ¹öÀü µîÀ» Àü¼ÛÇÑ´Ù.

  ÀÌ Á¤º¸´Â °ø°ÝÀÚ¿¡ ÀÇÇØ Apache À¥ ¼­¹ö ¹öÀüº° ¶Ç´Â ±¸µ¿µÇ°í ÀÖ´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡ À߾˷ÁÁø Ãë¾àÁ¡À» °ø°ÝÇϴµ¥ À¯¿ëÇÏ°Ô ÀÌ¿ëµÇ±â ¶§¹®¿¡ °ø°ÝÀÚ¿¡°Ô À¥ ¼­¹öÀÇ ¹öÀü°ú °°Àº banner Á¤º¸¸¦ ¼û±â´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù.
  Apache À¥ ¼­¹ö¿¡¼­´Â httpd.conf ³»¿ë¿¡ ServerTokens Áö½ÃÀÚ¸¦ »ðÀÔÇÏ¿© Çì´õ¿¡ ÀÇÇØ Àü¼ÛµÇ´Â Á¤º¸¸¦ ÃÖ¼ÒÈ­ ÇÒ ¼ö ÀÖ´Ù.

  ¡Ü ¿¡·¯ ¸Þ½ÃÁö ¼öÁ¤
  ¿¡·¯ ¸Þ½ÃÁö´Â °ø°ÝÀÚ¿¡°Ô ¹«¾ùÀÌ Æ²·È´ÂÁö ¾Ë·ÁÁִ ǥ½Ã¸¦ ÇØÁÖ¸ç ÀÌ·Î ÀÎÇØ °ø°ÝÀÚ´Â °¢°¢ÀÇ Áö½Ã¿¡ ´ëÇØ ´Ù¾çÇÑ °ø°Ý ¹æ¹ýÀ» ½ÃµµÇÒ ¼ö ÀÖ°Ô µÈ´Ù. Apache¿¡¼­ ¿¡·¯ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀº 4°¡Áö·Î ³ª´©¾îÁø´Ù.

  - °£´ÜÇÑ ½Ã½ºÅÛ¿¡¼­ ÀÛ¼ºµÈ ¿¡·¯ ¸Þ½ÃÁö Ãâ·Â
  - »ç¿ëÀÚ°¡ ¼öÁ¤ÇÑ ¸Þ½ÃÁö Ãâ·Â
  - ¹®Á¦³ª ¿¡·¯¸¦ ÇØ°áÇϱâ À§ÇÑ ·ÎÄà URLÀ» Redirection
  - ¹®Á¦³ª ¿¡·¯¸¦ ÇØ°áÇϱâ À§ÇÑ ¿ÜºÎ URLÀ» Redirection

  ÀÌÁß °¡Àå º¸ÆíÀûÀÎ ¹æ¹ýÀº º°µµÀÇ ¿¡·¯ ÆäÀÌÁö¸¦ Á¦ÀÛÇÏ¿© °¢°¢ÀÇ ¿¡·¯Äڵ忡 ´ëÇØ ¿¡·¯ ÆäÀÌÁö·Î Redirection ½ÃŰ´Â ¹æ¹ýÀÌ´Ù.

  httpd.conf ÆÄÀÏ¿¡¼­ ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇÑ´Ù.

  ¡Ü °ü¸®ÀÚÆäÀÌÁö Á¢±ÙÅëÁ¦
  °ü¸®ÀÚÆäÀÌÁö´Â °¡Àå º¸È£µÇ¾î¾ß ÇÒ ÆäÀÌÁö·Î ¸Å¿ì Á¦ÇÑÀûÀ¸·Î Á¢±ÙÀ» Çã¿ëÇÏ¿©¾ß ÇÑ´Ù. ±âº»ÀûÀ¸·Î ƯÁ¤ IP Address¿¡¼­¸¸ Á¢±ÙÀ» Çã¿ëÇÏ°í ±× ¿ÜÀÇ ¸ðµç Á¢±ÙÀº Â÷´ÜÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. À̸¦ À§ÇØ httpd.conf ÆÄÀÏ¿¡¼­ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.

  ¡Ü ƯÁ¤ ÆÄÀÏÀÇ ³»¿ë º¸±â ¹æÁö
  ÀÓÀÇÀÇ »ç¿ëÀÚ°¡ À¥ ºê¶ó¿ìÀú¿¡¼­ ƯÁ¤ ÆÄÀÏÀ» ÀÔ·ÂÇÔÀ¸·Î¼­ ÆÄÀÏ ³»¿ëÀ» º¼ ¼ö Àִµ¥ À̸¦ ¹æÁöÇϱâ À§ÇÏ¿© ȯ°æ ¼³Á¤È­ÀÏ(httpd.conf)¿¡¼­ ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇÑ´Ù.

  - ¾ÆÆÄÄ¡ À¥ ¼­¹öÀÇ °æ¿ì

  À§¿¡¼­ AddType application/x-httpd-php´Â µÞºÎºÐÀÇ È®ÀåÀÚ Å¸ÀÔ(.php .php3 .inc .html .phtml)¿¡ ´ëÇÏ¿© ½ÇÇàÀ» ½ÃŰ´Â ½ÇÇàÆÄÀÏÀ» ¾Ë·Á ÁÖ´Â °ÍÀÌ´Ù. µû¶ó¼­ ÀÌ ºÎºÐ¿¡ .inc, .bak¿Í °°ÀÌ È®ÀåÀÚ¸¦ ÀÔ·Â ½Ã application /x-httpd-phpÀ» ÅëÇÏ¿© µ¿ÀÛ½ÃŰ¹Ç·Î ÆÄÀÏ ³»¿ëÀ» º¸¿©ÁÖÁö ¾Ê°Ô µÇ´Â °ÍÀÌ´Ù.

  - CGIÀÇ °æ¿ì
  httpd.conf¿¡¼­ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.

  - PHPÀÇ °æ¿ì
  PHP¸¦ »ç¿ëÇÏ¿© °³¹ßÇϴµ¥ ÀÖ¾î Error³ª Warning ¸Þ½ÃÁö¸¦ ÀÚÁÖ Á¢ÇÏ°Ô µÇ´Âµ¥ ÀÌ ¸Þ½ÃÁö´Â ¿À·ù¸Þ½ÃÁö°¡ ¹ß»ýµÈ CGIÀÇ ¹°¸®ÀûÀÎ(¶Ç´Â ½Ã½ºÅÛ»óÀÇ) À§Ä¡¿Í ¿¡·¯ ºÎºÐÀ» Ç¥½ÃÇÏ¿© ÁØ´Ù. À̸¦ ÀÌ¿ëÇÏ¿© °ø°ÝÀÚ´Â /lib, /inc, /adminµî º¸¿©ÁöÁö ¸»¾Æ¾ßÇÒ Á¤º¸°¡ ³ëÃâµÇ´Â À§Ç輺À» °¡Áö°í ÀÖ´Ù. À̸¦ Á¦°ÅÇϱâ À§Çؼ­´Â php.ini³»ÀÇ ¼³Á¤ Áß¿¡¼­ display_errors °ªÀ» Off·Î ¼³Á¤ÇÏ¿© ÁØ´Ù.

  ¶Ç, PHP¿¡¼­´Â °¢ ÄÚµù ¶óÀο¡ @À» »ç¿ëÇÏ¿© ÇØ´ç ¶óÀÎÀÇ ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏÁö ¾Ê´Â ¹æ¹ýÀ» Á¦°øÇÑ´Ù.



  ¡Ü ÁÖ¿ä ÆÄÀϽýºÅÛ ¼³Á¤ º¯°æ
  ÃÖ±Ù ¸¹ÀÌ ¹ß»ýÇÑ À¥ ÇØÅ·ÀÇ °æ¿ì, ¾Ç¼º ÇÁ·Î±×·¥À» /tmp, /dev/shmµîÀÇ µð·ºÅ丮¿¡ ¾Ç¼º ÇÁ·Î±×·¥À» ¾÷·Îµå ÇÏ´Â °æ¿ì°¡ ¸¹À¸¹Ç·Î /etc/fstabÀÇ ³»¿ëÀ» ¼öÁ¤ÇÏ¿© ÇØ´ç µð·ºÅ丮ÀÇ ½ÇÇà±ÇÇÑÀ» Á¦°ÅÇϵµ·Ï ÇÑ´Ù.

  º¯°æ ÈÄ¿¡´Â mount ¸í·ÉÀ» ½ÇÇàÇÏ¿© º¯°æ ³»¿ëÀ» Àû¿ëÇÑ´Ù.

  ¶ÇÇÑ, apache À¥ ¼­¹öÀÇ ¼³Á¤ÆÄÀÏÀÌ À§Ä¡ÇÏ´Â µð·ºÅ丮ÀÇ ±ÇÇÑÀ» 700À¸·Î º¯°æÇÏ¿© Çϵµ·Ï ÇÑ´Ù. (¿¹: chmod 700 /usr/local/apache/conf)


Á¦ 4 Àå  °á ·Ð


  ȨÆäÀÌÁö ÇØÅ·»ç°í´Â ´Ü¼øÇÑ È¨ÆäÀÌÁö º¯Á¶ ¼öÁØ¿¡¼­ ±×Ä¥ »Ó¸¸ ¾Æ´Ï¶ó À̸¦ ÀÌ¿ëÇÏ¿© ÇÇ½Ì »çÀÌÆ®·Î ¾Ç¿ëÇϰųª °í°´ÀÇ Á¤º¸¸¦ À¯ÃâÇÏ¿© ¾Ç¿ëÇÏ´Â µîÀÇ ¹üÁËÀûÀÎ ¼ºÇâÀ¸·Î ¹ßÀüÇϰí ÀÖ´Ù.

  ȨÆäÀÌÁö ¼­¹ö´Â ÀÎÅͳÝÀ» ÅëÇØ ´©±¸¿¡°Ô³ª ¿­·ÁÁ® ÀÖ´Â ½Ã½ºÅÛÀ̸ç ȨÆäÀÌÁö¸¦ ÅëÇØ º¼ ¼ö ÀÖ´Â Á¤º¸µµ ³»ºÎ DB¿ÍÀÇ ¿¬µ¿¿¡ ÀÇÇØ °í°´ Á¤º¸, ȸ»ç ³»ºÎ ÀÚ·á µî ±ÝÀüÀûÀ¸·Î °¡Ä¡ÀÖ´Â Á¤º¸µéÀÌ ÀúÀåµÇ°í ÀÖ¾î °ø°ÝÀÚ¿¡°Ô´Â »ó´çÈ÷ ¸Å·ÂÀûÀÎ °ø°Ý´ë»óÀÌ µÇ°í ÀÖ´Ù. ÀÌó·³ ȨÆäÀÌÁöÀÇ È°¿ëµµ ¹× Á߿䵵°¡ °¥¼ö·Ï Áõ°¡Çϰí ÀÖÀ¸¹Ç·Î ȨÆäÀÌÁö¿¡ ´ëÇÑ ÇØÅ·½Ãµµµµ ÁÙÁö ¾ÊÀ» °ÍÀÌ´Ù.

  ÇÏÁö¸¸ ¸¹Àº ȨÆäÀÌÁö °³¹ßÀÚ ¹× °ü¸®ÀÚµéÀº ȨÆäÀÌÁö º¸¾ÈÀÇ Á߿伺À» ÀνÄÇÏÁö ¸øÇϰí ÀÖ¾î ¸¹Àº ±¹³» ȨÆäÀÌÁö°¡ ÇØ¿Ü ÇØÄ¿¿¡ ÀÇÇØ °ø°Ý´çÇÏ´Â »ç°í°¡ ºó¹ßÇϰí ÀÖ´Â ½ÇÁ¤ÀÌ´Ù.

  ºñ¿ë È¿À²ÀûÀ¸·Î ¾ÈÀüÇÑ È¨ÆäÀÌÁö¸¦ ±¸ÃàÇϱâ À§Çؼ­´Â ±¸ÃàÀÌÈİ¡ ¾Æ´Ñ ¼³°è∙±¸Ãà´Ü°è¿¡¼­ ¸ÕÀú Á¤º¸º¸È£¸¦ °í·ÁÇÏ´Â °ÍÀÌ Áß¿äÇÔÀ» ´Ù½Ã Çѹø °­Á¶ÇϰíÀÚ ÇÑ´Ù. ƯÈ÷, ´Ù¼öÀÇ »ç¿ëÀÚµéÀÌ »ç¿ëÇÏ´Â ÆÐŰÁö ÇüÅÂÀÇ À¥ ¾îÇø®ÄÉÀ̼ǵéÀº À̵éÀÇ º¸¾È Ãë¾àÁ¡ÀÌ ¹èÆ÷ ÀÌÈÄ¿¡ ¹ß°ßµÇ¾î º¸¾ÈÁ¶Ä¡¸¦ ÃëÇÒ °æ¿ì ÀÌ ¾îÇø®ÄÉÀ̼ÇÀ» »ç¿ëÇÏ¿© ȨÆäÀÌÁö¸¦ ±¸ÃàÇÑ ¼ö¸¹Àº »ç¿ëÀÚµéÀÌ ´Ù½Ã ÆÐÄ¡¸¦ Àû¿ëÇÏ¿©¾ß ÇÏ´Â ºÒÆíÇÔ°ú ºñ¿ëÀÌ ¼Ò¿äµÉ ¼ö ¹Û¿¡ ¾ø´Ù.

  º» °¡À̵å´Â ÃÖ±Ù ¹ß»ýµÇ°í Àִ ȨÆäÀÌÁö ÇØÅ·»ç°íÀÇ ÁÖ¿ä ¿øÀÎÀÌ À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ º¸¾ÈÃë¾àÁ¡¿¡ ÀÖ´Ù´Â »ç½Ç¿¡ µû¶ó À¥ ¾îÇø®ÄÉÀÌ¼Ç °³¹ß½Ã °í·ÁÇÏ¿©¾ß ÇÏ´Â »çÇ× ¹× ÄÚµù ¿¹¸¦ ¼Ò°³Çϰí, ±¹³» ÁÖ¿ä À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ º¸¾È´ëÃ¥¿¡ ´ëÇØ ¼Ò°³ÇÏ¿´´Ù. º» °¡À̵尡 ȨÆäÀÌÁö °³¹ßÀÚ ¹× ¿î¿µÀÚ°¡ ȨÆäÀÌÁö º¸¾È¼º °­È­Çϴµ¥ ½ÇÁúÀûÀÎ µµ¿òÀÌ µÉ ¼ö ÀÖ¾úÀ¸¸é ÇÑ´Ù.



Ãâó :

[¿ø±Û¸µÅ©] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1698


ÀÌ ±ÛÀ» Æ®À§ÅÍ·Î º¸³»±â ÀÌ ±ÛÀ» ÆäÀ̽ººÏÀ¸·Î º¸³»±â ÀÌ ±ÛÀ» ¹ÌÅõµ¥ÀÌ·Î º¸³»±â

 
krcert
ÀÎÅÍ³Ý Ä§ÇØ»ç°í´ëÀÀÁö¿ø¼¾ÅÍÀÇ
Çã¶ôÇÏ¿¡ º» »çÀÌÆ®¿¡¼­ pdf ÆÄÀÏ Çü½ÄÀ¸·Î ¹èÆ÷ µË´Ï´Ù.