Evading the Algorithm Prohibiting the Use of Specific Strings in CGI
by Beist Security Research Group
¿ä¾à : ÇØÄ¿ÀÇ Cookie Sniffing °ø°ÝÀ» ¸·±â À§ÇØ ¸¹Àº º¸¾È ¾Ë°í¸®ÁòÀÌ ±¸ÇöµÇ°í ÀÖ´Ù. º» ¹®¼´Â ÇØÄ¿ÀÇ Client Script Language »ç¿ëÀ» Á¦ÇÑÇϱâ À§ÇØ Æ¯Á¤ ¹®ÀÚ ÇÊÅ͸µ ¹æ¹ýÀ» »ç¿ëÇÏ´Â º¸¾È ¾Ë°í¸®ÁòÀ» ¿ìȸÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¼Ò°³Çϰí ÀÖ´Ù. Unicode ¹®ÀÚ¸¦ ÀÌ¿ëÇÏ¿© ƯÁ¤ ¹®ÀÚ ÇÊÅ͸µ ¾Ë°í¸®Áò¿¡ Àû¿ëµÇÁö ¾Ê°í ¿ìȸÇÏ¿© Cookie Sniffing °ø°Ý¿¡ ¼º°øÇÏ´Â ±â¹ý¿¡ ´ëÇØ¼ ¼Ò°³Çϰí ÀÖ´Ù.
1. °³¿ä ±Ù·¡¿¡ ¸¹Àº CGI ÇÁ·Î±×·¥µéÀº ÇØÄ¿ÀÇ Cookie Sniffing °ø°ÝÀ» ¸·±â À§ÇØ »ç¿ëÀÚ°¡ Javascript °°Àº Client Script Language ÀÇ »ç¿ëÀ» Á¦ÇÑÇÏ´Â ¹æ¹ýÀ» ¸¹ÀÌ ±¸ÇöÇØ ¿Ô½À´Ï´Ù. Javascript ³ª Vbscript °°Àº ¾ð¾îÀÇ »ç¿ëÀ» ±ÝÁö½ÃÅ´À¸·Î½á ÇØÄ¿´Â Cookie Sniffing ¿¡ ¾Ç¿ëµÉ ¼ö ÀÖ´Â ScriptµéÀ» »ç¿ëÇϱⰡ ½±Áö ¾Ê¾Ò½À´Ï´Ù. ±×·¸Áö¸¸ Ç×»ó ±×·¡¿ÔµíÀÌ, ¹æ¾î ¾Ë°í¸®ÁòÀº ±ú´Â ¹æ¹ýµµ ³ª¿À±â ¸¶·ÃÀÔ´Ï´Ù. ÀÌ ¹®¼¿¡¼´Â ÇØÄ¿ÀÇ Client Script »ç¿ëÀ» Á¦ÇÑÇÏ´Â CGI ȯ°æ¿¡¼ Á¦ÇÑÀ» ¿ìȸÇÏ¿© Client Script ¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ´Ù·ç°í ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î CGI ÇÁ·Î±×·¥ÀÇ º¸¾È ¾Ë°í¸®Áò¿¡¼´Â ÇØÄ¿ÀÇ Cookie Sniffing °ø°ÝÀ» ¸·±â À§ÇØ "script" ȤÀº, "javascript" °°Àº ƯÁ¤ ¹®ÀÚ¿ÀÇ »ç¿ëÀ» Á¦ÇÑÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¦ÇÑÀ¸·Î ÇØÄ¿´Â Client Script Language¸¦ »ç¿ëÇϱⰡ ¾î·Æ½À´Ï´Ù. CGI ÇÁ·Î±×·¥¿¡¼ÀÇ ÀÌ·¯ÇÑ ÇÊÅ͸µ ÀÛ¾÷ ¶§¹®¿¡ ÇØÄ¿´Â Cookie Sniffing À» ¼º°øÇϱâ Èûµì´Ï´Ù. ÀÌ ¹®¼¿¡¼´Â Unicode ¸¦ ÀÌ¿ëÇÏ¿© ÀÌ·¯ÇÑ Á¦ÇÑÀ» ¿ìȸÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¼³¸íÇÒ °ÍÀÔ´Ï´Ù. Unicode ´Â ÅØ½ºÆ®³ª ½ºÅ©¸³Æ® ¹®ÀÚ¿¡ ´ëÇÑ ¹ÙÀ̳ʸ® Äڵ带 È®¸³Çϱâ À§Çؼ ¸¸µé¾îÁ³½À´Ï´Ù. ÀÌ °ÍÀ» ÀÌ¿ëÇϸé ÇØÄ¿´Â Cookie Sniffing °ø°ÝÀ» ¼º°ø ÇÒ ¼ö ÀÖ½À´Ï´Ù.
2. ÀÌ¿ëµÉ ¼ö ÀÖ´Â °÷ ÀÌ ¹®¼¿¡¼ ´Ù·ç´Â ¹æ¹ýÀ» ÀÌ¿ëÇϸé, ÇØÄ¿´Â ƯÁ¤ ¹®ÀÚ¿À» Á¦ÇÑÇÏ´Â CGI ÇÁ·Î±×·¥¿¡¼ ¿øÇÏ´Â ¹®ÀÚ¿À» »ç¿ëÇÒ ¼ö ÀÖ°Ô µÊÀ¸·Î½á, Cookie Sniffing °ø°ÝÀ» ¼º°øÇÒ ¼ö ÀÖ½À´Ï´Ù. Cookie Sniffing ¿¡ ¼º°øÇÏ°Ô µÇ¸é, ÇØÄ¿´Â 2 Â÷ÀûÀÎ °ø°ÝÀÌ¶ó º¼ ¼ö ÀÖ´Â Cookie Spoofing °ø°ÝÀ» ¼öÇàÇÔÀ¸·Î½á, Target Server ÀÇ Account ³ª, ±âŸ Admin ÀÌ ÇÒ ¼ö Àִ ƯÁ¤ ±â´ÉÀ» ºÒ¹ýÀûÀ¸·Î ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. Target CGI ÇÁ·Î±×·¥Àº, °Ô½ÃÆÇ, ÀÚ·á½Ç, ¼îÇθô, ¸ÞÀϼºñ½º µîµî °ÅÀÇ ¸ðµç CGI À» Target À¸·Î »ï°í °ø°ÝÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ¾ÆÁ÷ ÀÌ °ø°Ý ±â¹ýÀº ¸¹ÀÌ ¾Ë·ÁÁöÁö ¾ÊÀº ±â¹ýÀ̹ǷΠCookie Sniffing À» ¸·±â À§Çؼ Á¶Ä¡¸¦ ÃëÇÑ CGI ÇÁ·Î±×·¥¿¡¼ ´ëºÎºÐ Ȱ¿ëµÉ ¼ö ÀÖÀ»°Å¶ó »ý°¢µË´Ï´Ù.
3. ±â¼úÀûÀÎ ³»¿ë ±â¼úÀûÀÎ ³»¿ëÀ» ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¸ÕÀú, ¾î¶² ¹æ½ÄÀ¸·Î ÇØÄ¿ÀÇ Cookie Sniffing °ø°ÝÀ» ¸·´ÂÁö Á¶±Ý ´õ ÀÚ¼¼ÇÏ°Ô ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¿¹¸¦ µé¾î¼ ÇØÄ¿°¡ Cookie Sniffing À» Çϱâ À§Çؼ ÇÊ¿äÇÑ Æ¯Á¤ ¹®ÀÚ¿ÀÌ "javascript" ¶ó°í °¡Á¤ÇϰڽÀ´Ï´Ù. (Cookie Sniffing °ø°ÝÀ» ÇÒ ¶§, ²À javascript ¹®ÀÚ¿À» ÀÌ¿ëÇØ¼¸¸ ÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï¸ç ¿©·¯ ´Ù¸¥ ¹æ¹ýµéµµ Á¸ÀçÇÕ´Ï´Ù.) Hacker °¡ Cookie Sniffing À» ÇÒ ¶§ »ç¿ëÇÏ´Â Script °¡ ´ÙÀ½°ú °°´Ù°í °¡Á¤ÇϰڽÀ´Ï´Ù.
cook-sniff.html <html> <script language=javascript> </head> test. </body> À§ cook-sniff.html ¿¡¼, "<script language=javascript>" ¶ó´Â ºÎºÐÀ» º¸½Ã¸é javascript ¹®ÀÚ¿ÀÌ »ç¿ëµÇ¾ú½À´Ï´Ù. ÀÓÀÇÀÇ CGI ¸¦ ¸¸µé°í, ¾î¶² ¹æ½ÄÀ¸·Î javascript ÀÇ »ç¿ëÀ» Á¦ÇÑÇÏ´ÂÁö ¾Ë¾Æº¸°Ú½À´Ï´Ù.
test.html <html> test.html ¿¡¼ »ç¿ëÀÚ°¡ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇßÀ» ¶§, µ¥ÀÌÅͰ¡ ³Ñ¾î°¡´Â CGI ÇÁ·Î±×·¥ÀÎ java_test.html ÀÇ ¼Ò½º´Â ´ÙÀ½°ú °°½À´Ï´Ù.
java_test.html <? echo " echo "Original string : $hacker<br><br>"; $hacker = eregi_replace("javascript", "xjava-script", $hacker); echo "Filtering string : $hacker"; ?> java_test.html ´Â, PHP ÀÇ eregi_replace ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ $hacker ÀÇ °ª¿¡, javascript °¡ ÀÖ´Ù¸é, ÀÌ °ªÀ» xjava-script ·Î ¹Ù²Ù¾î ÁÝ´Ï´Ù. test.html ¿¡¼ "script language=javascript" ¸¦ ÀÔ·ÂÇϸé java_test Àº ¾î¶² °ªÀ» Ãâ·ÂÇØÁÖ´ÂÁö È®ÀÎÇÏ´Â Å×½ºÆ® ÇØº¸°Ú½À´Ï´Ù.
[ȸé1] test.html (script language=javascript ÀÔ·Â) ´ÙÀ½Àº °á°úÀÔ´Ï´Ù.
[ȸé2] java_test.html
»ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ "javascript" ¹®ÀÚ¿ÀÌ, java_test.html ÀÇ eregi_replace() ÇÔ¼ö¿¡ ÀÇÇØ "xjava-script" ·Î ¹Ù²î¾îÁø °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à "<script language=javascript>" °¡, "<script language=xjava-script>"·Î ¹Ù²î°Ô µÈ´Ù¸é, Web ºê¶ó¿ìÁ®´Â ÇØÄ¿°¡ ÀÔ·ÂÇÑ Script ¸¦ Á¤»óÀûÀÎ Javascript ·Î ÀνÄÇÏÁö ¸øÇØ, window.open() ¸Þ¼Òµå µî°ú °°Àº Javascript ¹®¹ýÀÌ ¾Æ¿¹ µ¿ÀÛÇÏÁö ¸øÇϱ⠶§¹®¿¡ Cookie Sniffing °ø°ÝÀ» ÇÒ ¼ö°¡ ¾ø½À´Ï´Ù. CGI ´Â ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î ƯÁ¤ ¹®ÀÚ¿À» ÇÊÅ͸µÇÔÀ¸·Î½á ÇØÄ¿ÀÇ Cookie Sniffing °ø°ÝÀ» ¹æÁöÇϰí ÀÖ½À´Ï´Ù. ¿©±â¼´Â ÀÓÀÇÀÇ CGI ÇÁ·Î±×·¥À» Çϳª ÀÛ¼ºÇÑ ´ÙÀ½, À̰ÍÀ» Ÿ°ÙÀ¸·Î Àâ°í À¯´ÏÄڵ带 ÀÌ¿ëÇÏ¿© CGI ÀÇ Javascript »ç¿ë ±ÝÁö ÇÊÅ͸µÀ» ¿ìȸÇϰí Cookie Sniffing ¿¡ ¼º°øÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù. ±×Àü¿¡, Unicode ¿¡ ´ëÇÑ Áö½ÄÀ» ¸î°¡Áö ¾Ë¾Æº¸°Ú½À´Ï´Ù. Unicode ´Â ±¹Á¦ Ç¥ÁØ ±â±¸ÀÇ ¹®ÀÚ ¼¼Æ® °ü·Ã Ç¥ÁØ ±Ô°ÝÀ» ¸»ÇÕ´Ï´Ù. Unicode ´Â ±¹°¡ °£ÀÇ Àü»ê ÀÚ·á ±³È¯ÀÇ Çʿ伿¡ ÀÇÇØ¼ ź»ýÇÏ¿´½À´Ï´Ù. °¢ ³ª¶ó¸¶´Ù ´Ù¸¥ ¾ð¾î¸¦ ÄÄÇ»ÅÍ¿¡¼ ´Ù·ç·Á°í ÇÏ´Ùº¸´Ï ¿©·¯ °¡Áö ¹®Á¦Á¡ÀÌ ³ªÅ¸³µ½À´Ï´Ù. ÀÌ ¹®Á¦Á¡À» À§Çؼ ±¹Á¦ Ç¥ÁØÀ¸·Î ¸¸µé¾îÁø °ÍÀÌ Unicode ¶ó´Â °ÍÀÔ´Ï´Ù. Áï, °¢ ¹®ÀÚ¸¶´Ù °íÀ¯ÀÇ Unicode ³Ñ¹ö°¡ ºÎ¿©µÇ´Âµ¥, ÇØÄ¿´Â ÀÌ Unicode ¸¦ ÀÌ¿ëÇÏ¿© À§¿¡¼ CGI°¡ »ç¿ëÇß´ø ÇÊÅ͸µÀ» ¿ìȸÇÒ ¼ö ÀÖ½À´Ï´Ù. À¯´ÏÄڵ忡¼´Â, ¿¹¸¦ µé¾î a ¹®ÀÚ¿ÀÌ °®´Â Unicode °ªÀº 0061 ÀÔ´Ï´Ù. ÀÌ °ÍÀº À¥ ºê¶ó¿ìÁ®¿¡¼ a ¿Í °°Àº Çü½ÄÀ¸·Î Ç¥ÇöµÉ ¼ö ÀÖ½À´Ï´Ù.
sample.html <html> sample.html À» À¥ºê¶ó¿ìÁ®·Î Àо°Ú½À´Ï´Ù.
[ȸé3] sample.html (sample unicode)
sample.html À» À¥À¸·Î ÀÐÀº °á°ú, a À¯´ÏÄÚµå °ªÀÌ, À¥ ºê¶ó¿ìÁ®¿¡¼´Â ÇØ¼®µÇ¾î a ·Î Ç¥½ÃµÈ °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î ÇØÄ¿´Â "a" ¹®ÀÚ°¡ ¾Æ´Ñ, "a" À¯´ÏÄÚµå °ªÀ¸·Îµµ a ¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁüÀÛÇϼ̰ÚÁö¸¸, 0061 ÀÇ 61 Àº a ÀÇ hex code ÀÔ´Ï´Ù. ±âÁ¸ÀÇ ASCII ÄÚµå °ªµéÀº À¯´ÏÄڵ忡¼µµ °°Àº ¹üÀ§¿¡ À§Ä¡Çϰí ÀÖ½À´Ï´Ù. ´Ù¸¥ ¹®ÀÚµéÀÇ À¯´ÏÄÚµå °ªÀ» »ùÇ÷Π¸î°³ ´õ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
0061 = a 0041 = A 0021 = ! 0031 = 1
ÀÌÁ¦, »ç¿ëÀÚÀÇ Client Script »ç¿ëÀ» Á¦ÇÑÇÏ´Â CGI ¸¦ Á¦ÀÛÇϰí, ÀÌ °ÍÀÇ ÇÊÅ͸µÀ» ¿ìȸÇÏ¿© Cookie Sniffing ¿¡ ¼º°øÇÏ´Â °úÁ¤À» ¾Ë¾Æº¸°Ú½À´Ï´Ù. Admin ¿¡°Ô ¸Þ¸ð¸¦ º¸³¾ ¼ö ÀÖ´Â ±â´ÉÀÇ CGI ¶ó°í °¡Á¤ÇϰڽÀ´Ï´Ù. ´ÙÀ½Àº Memo ¸¦ º¸³¾ ¼ö ÀÖ´Â Form ÀÔ´Ï´Ù.
write.html
<html>
´ÙÀ½ write_ok.html ÆÄÀÏÀº, write.html ¿¡¼ »ç¿ëÀÚ°¡ º¸³»¿Â µ¥ÀÌÅ͸¦ ó¸®ÇØÁÝ´Ï´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ µ¥ÀÌÅÍ´Â memo.txt ¿¡ ÀúÀåµÇ°í, Admin Àº memo.txt ¸¦ ÀоÀ¸·Î½á »ç¿ëÀÚ°¡ º¸³»¿Â ¸Þ¸ð¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
write_ok.html
<? $name=str_replace("<", "<", $name); $subject=str_replace("<", "<", $subject); $memo=eregi_replace("javascript", "xjava-script", $memo); $memo = nl2br($memo);
$fp=fopen("./memo.txt", "a++"); fputs($fp, " fclose($fp); echo "ok.."; ?>
À̸§°ú Á¦¸ñ ºÎºÐ¿¡¼ ÅÂ±× »ç¿ëÀ» ¿øÃµ ºÀ¼âÇϱâ À§ÇØ < ¸¦ < ·Î ¹Ù²Ù¾ú½À´Ï´Ù. ±×¸®°í memo ¿¡¼´Â ű״ Çã¿ëÇÏÁö¸¸ javascript ¸¦ »ç¿ëÇÏÁö ¸øÇÏ°Ô Çϱâ À§ÇØ, javascript ¸¦ xjava-script ¶ó´Â ¹®ÀÚ¿·Î º¯È¯ÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÏ¿´½À´Ï´Ù. write.html ¿¡¼ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¿´À» °æ¿ì, memo.txt ¿¡ ¾î¶»°Ô ÀúÀåµÇ´ÂÁö È®ÀÎÇØº¸°Ú½À´Ï´Ù.
[ȸé4] write.html ÀÔ·Â
memo.txt ¸¦ È®ÀÎÇØº¸°Ú½À´Ï´Ù.
memo.txt ------------------------------------------------------------------------<br> /* alert(location.href); ´Â, ÇöÀç ÆäÀÌÁöÀÇ ÁÖ¼Ò °ªÀ» alert âÀ» ÅëÇØ¼ Ãâ·ÂÇØÁÖ´Â ±â´ÉÀ» ÇÕ´Ï´Ù. ¿©±â¼´Â ´Ü¼øÈ÷ ÇÊÅ͸µ ¿ìȸ Å×½ºÆ®¸¦ À§Çؼ »ç¿ëµÈ °ÍÀÔ´Ï´Ù. */ < ´Â < ·Î ¹Ù²î¾ú°í, javascript ´Â xjava-script ·Î ¹Ù²î¾ú½À´Ï´Ù. javascript °¡ xjava-script ·Î ¹Ù²î¾ú±â ¶§¹®¿¡ javascript ´Â ÀÛµ¿µÇÁö ¾ÊÀ» °ÍÀ̰í, Cookie Sniffing °ø°ÝÀº ½ÇÆÐÇÒ °ÍÀÔ´Ï´Ù. ÀÌ ¹®¼¿¡¼´Â write_ok.html ÀÇ ÇÊÅ͸µÀ» ±Øº¹Çϱâ À§ÇÑ ¹æ¹ýÀ¸·Î À¯´ÏÄڵ带 ÀÌ¿ëÇÑ ¹æ¹ýÀ» ¼Ò°³ÇÒ °ÍÀÔ´Ï´Ù. À¯´ÏÄڵ忡 ´ëÇÑ ¼Ò°³´Â À§¿¡¼ °£´ÜÇÏ°Ô ¾Ë¾Æº¸¾Ò°í, ÀÌÁ¦ ½ÇÁ¦·Î °ø°ÝÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇϰڽÀ´Ï´Ù. À§¿¡¼ ¹®ÀÚ a ÀÇ À¯´ÏÄÚµå °ªÀº a À̶ó°í ¼³¸íÇÏ¿´½À´Ï´Ù. write_ok.html ´Â "javascript" ¹®ÀÚ¿À» ÇÊÅ͸µÇϹǷÎ, ¿ì¸®´Â À¯´ÏÄÚµå·Î javascript ¹®ÀÚ¿À» ´Ù¸¥ ¹æ¹ýÀ¸·Î Ç¥ÇöÇÒ °ÍÀÔ´Ï´Ù. javascript = javascript À§ÀÇ javascript ´Â javascript ¹®ÀÚ¿°ú °°½À´Ï´Ù. ÀÌ °ÍÀ» ÀÌ¿ëÇÏ¿© ´Ù½Ã Çѹø ±ÛÀ» ½áº¸°Ú½À´Ï´Ù.
[ȸé5] write.html (À¯´ÏÄÚµå ÀÌ¿ëÇÏ¿© javascript »ç¿ëÇϱâ)
»ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ µ¥ÀÌÅͰ¡ ¾î¶»°Ô µÇ¾ú´ÂÁö memo.txt ¸¦ È®ÀÎÇØº¸°Ú½À´Ï´Ù.
memo.txt ------------------------------------------------------------------------<br> »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ <script language=javascript>alert(location.href);</script> ºÎºÐÀº ¾Æ¹«·± ÀÌ»ó¾øÀÌ memo.txt ¿¡ ÀúÀåµÇ¾ú½À´Ï´Ù. Admin ÀÌ Memo ¸¦ È®ÀÎÇÏ·Á memo.txt ¸¦ Àоú´Ù°í °¡Á¤Çϰí ȸéÀ» º¸°Ú½À´Ï´Ù.
[ȸé6] memo.txt (Admin ÀÌ Memo È®ÀÎ)
»ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ javascript °¡ ¼º°øÀûÀ¸·Î »ðÀԵǾúÀ½À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. Admin ÀÇ À¥ ºê¶ó¿ìÁ®¿¡¼´Â location.href ÀÇ °ªÀ» alert âÀ» ÅëÇØ Ãâ·ÂÇϰí ÀÖ½À´Ï´Ù. ÇØÄ¿´Â ÀÌ·¯ÇÑ ¹æ¹ýÀ» ÀÀ¿ëÇÏ¿© CGI ÀÇ Javascript ÇÊÅ͸µÀ» ¿ìȸÇϰí, Cookie Sniffing ¿¡ ¼º°øÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
4. ¸¶Ä¡´Â ¸» À¯´ÏÄڵ带 ÀÌ¿ëÇÏ¿© CGI ÀÇ Javascript ÇÊÅ͸µÀ» ¿ìȸÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ÀÌ·± ¹æ¹ýó·³, À¯´ÏÄÚµå¶ó´Â È®Àå ¿µ¿ªÀ» ÀÌ¿ëÇϸé ÇöÀç °ÅÀÇ ¸ðµç CGI ÀÇ ÇÊÅ͸µÀ» ¿ìȸÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °ÍÀ» ¸·±â À§ÇÑ ¹æ¹ýÀ» ¿¬±¸ÇؾßÇÒ °ÍÀÔ´Ï´Ù. ÀÌ °ÍÀ» ¸·´Â ¹æ¹ýÀ¸·Î, < ¹®ÀÚ¿ÀÇ »ç¿ëÀ» Á¦ÇÑÇÔÀ¸·Î½á, ¸ðµç ű×ÀÇ »ç¿ëÀ» ±Ùº»ÀûÀ¸·Î ¸·´Â ¹æ¹ýÀÌ ÀÖÁö¸¸, ÀÌ·¸°Ô µÉ °æ¿ì, »ç¿ëÀÚÀÇ ¿µ¿ªÀ» ³Ê¹« Á¦ÇÑÇÏ´Â °ÍÀ̹ǷΠ½ÅÁßÈ÷ °í·ÁÇØ¾ßÇÒ »çÇ×ÀÔ´Ï´Ù. ¶ÇÇÑ < ¹®ÀÚÀÇ »ç¿ëÀ» Á¦ÇÑÇÑ´Ù°í ¸ðµç °ÍÀÌ ÇØ°áµÇ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. À¯´ÏÄڵ带 ÀÌ¿ëÇÑ ¹æ¹ý À̿ܿ¡µµ Cookie Sniffing ¹æÁö ¾Ë°í¸®ÁòÀ» ¿ìȸÇÏ´Â ¹æ¹ýÀº ¸¹ÀÌ ÀÖ½À´Ï´Ù. ÇØÄ¿´Â HTML ÀÇ Æ¯¼ºÀ» ÀÌ¿ëÇÏ¿© ¹æ¾î ¾Ë°í¸®ÁòÀ» ½±°Ô ¿ìȸÇÒ ¼ö ÀÖÀ¸¸ç, ÇØÄ¿ÀÇ °ø°ÝÀ» ¿Ïº®ÇÏ°Ô ¸·À» ¼ö ÀÖ´Â CGI ´Â ã¾Æº¸±â°¡ Èûµì´Ï´Ù. (ex>, onload, onclick µîÀÇ function »ç¿ë) ¿¡ÇǼҵå. ÀÌ ±â¼úÀº Á¦°¡ ¾î¶² ÇØÄ¿ÀÇ °ø°ÝÀ» ¹Þ°í, ºÐ¼®À» ÅëÇØ ¾Ë°Ô µÈ ±â¼úÀÔ´Ï´Ù. ÀúÀÇ E-mail ÁÖ¼Ò´Â °ø°³µÇ¾î Àִµ¥, ²Ï ¸¹Àº ÇØÄ¿ºÐµéÀÌ ÀúÀÇ E-mail À» ÇØÅ·Çϱâ À§Çؼ °ø°Ý ½Ãµµ¸¦ ÇÕ´Ï´Ù. ÀÌ ±â¼úÀº ±× ÇØÄ¿µé Áß ÇÑ ºÐÀÌ ±¸»çÇÑ ±â¼ú·Î, Àú¿¡°Ô »õ·Î¿î ±â¼úÀ» ¾Ë°ÔÇØ ÁØ °í¸¶¿î ÇØÄ¿ÀÔ´Ï´Ù.(¸ÞÀÏÀ» view-source:·Î ÀÐ¾î¼ ´ÙÇàÈ÷ °ø°ÝÀº ¼º°øÇÏÁö ¸øÇß½À´Ï´Ù.) Àú¸¦ °ø°ÝÇÒ ¶§ À͸íÀ¸·Î À§Á¶µÈ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© °ø°ÝÀ» ÇϽôµ¥, ±×·¯Áö ¾ÊÀ¸¼Åµµ ±¦Âú½À´Ï´Ù. Àú´Â Á¦°¡ ÇØÅ· ´çÇÏ¿©µµ °í¼ÒÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. Àú´Â ½Ç·ÂÀÌ °®Ãß¾îÁø ÇØÄ¿¿Í ÇØÅ· ±â¼úÀ» À̾߱â ÇÏ´Â °ÍÀ» ÁÁ¾ÆÇϱ⠶§¹®ÀÔ´Ï´Ù. ÇØÅ· ±â¼ú¿¡ °üÇÑ À̾߱⳪ Åä·ÐÀº ¾ðÁ¦µçÁö ȯ¿µÇÕ´Ï´Ù. (Å©·¡Ä¿´Â ȯ¿µÇÏÁö ¾Ê½À´Ï´Ù. ^^)
|