Prevention of Cookie Spoofing and evasion of CGI program
by Beist Security Research Group
¿ä¾à : º» ¹®¼´Â Cookie Spoofing ÇØÅ· ±â¹ýÀ» ¹æÁöÇÏ´Â º¸¾È ¼Ö·ç¼ÇÀ» ¿ìȸÇÏ´Â ±â¹ý¿¡ ´ëÇØ¼ ¼Ò°³Çϰí ÀÖ´Ù. Cookie Spoofing ¹æÁö¸¦ À§Çؼ ±âÁ¸ÀÇ Cookie Á¤º¸¿Í µ¿½Ã¿¡ »ç¿ëÀÚÀÇ ·Î±×ÀÎµÈ IP¸¦ ºñ±³ÇÏ´Â ¹æ¹ýÀ» ¸¹ÀÌ »ç¿ëÇϰí ÀÖ´Ù. ±×·¯³ª ÇØÄ¿°¡ Á÷Á¢ °ø°ÝÀ» ¼öÇàÇÏÁö ¾Ê°í, JavaScript¸¦ ÀÌ¿ëÇÏ¿© À¥ °ü¸®ÀÚ·Î ÇÏ¿©±Ý ½º½º·Î °ø°ÝÀ» ¼öÇàÇϵµ·Ï À¯µµÇÏ´Â ¹æ¹ýÀ¸·Î ¿ìȸÇÒ ¼ö Àִµ¥ ÀÌ·² °æ¿ì IP¸¦ ºñ±³ÇÏ´Â ¹æ½ÄÀÇ º¸¾È ¾Ë°í¸®ÁòÀ» ¿ìȸÇÏ¿© °ø°Ý¿¡ ¼º°øÇÒ ¼ö ÀÖ´Ù.
1. °³¿ä Cookie SniffingÀ» ÀÌ¿ëÇÑ Spoofing ±â¼úÀº °¥¼ö·Ï ¹ßÀüÇϰí ÀÖ½À´Ï´Ù. Spoofing °ø°ÝÀ» ¸·±â À§ÇØ ¿©·¯ °¡Áö ¹æ¾ÈÀÌ Á¦½ÃµÇ¾ú´Âµ¥, ±× Áß¿¡ ÇѰ¡Áö¸¦ ¾Ë¾Æº¸¸é ¼¹ö·Î Á¢±ÙÇØ¿À´Â Ŭ¶óÀÌ¾ðÆ®°¡ÀÌ ÀÌ¹Ì Login µÈ IP Áï, Admin ÀÇ IP ¿Í ´Ù¸¥ IP ÀÏ °æ¿ì Hacking À¸·Î °£ÁÖÇϰí Session À» ²÷´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ÀÌ·² °æ¿ì Hacker ´Â Cookie Sniffing ¿¡ ¼º°øÇÏ¿©¼ Cookie (Session) À» °®°Ô µÈ »óŶóµµ, Login µÈ IP ¿Í IP °¡ Ʋ¸®±â ¶§¹®¿¡ Á¢¼Ó¿¡ Á¦ÇÑÀ» ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®¼¿¡¼´Â ÀÌ·¯ÇÑ »óȲÀÏ ¶§ ¿ìȸÇÏ¿© °ø°Ý¿¡ ¼º°øÇÒ ¼ö ÀÖ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¼Ò°³¸¦ ÇÏ·Á ÇÕ´Ï´Ù. ½ÇÁ¦·Î Zeroboard ÀÇ ºñ±³Àû ÃÖ±Ù ¹öÀü¿¡¼´Â À§¿¡¼ ¸»ÇÑ ¹æ¾î ±â´ÉÀ» ¾î´À Á¤µµ ±¸ÇöÇϰí ÀÖ¾ú½À´Ï´Ù. ¿©±â¼´Â Zeroboard ¸¦ ´ë»óÀ¸·Î, Zeroboard ¿¡¼ ±¸ÇöÇÑ ¹æ¾î ·çƾÀ» ¾î¶»°Ô ¿ìȸÇÒ ¼ö ÀÖ´Â Áö ±× Hacking ±â¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù. Cookie Sniffing Àº, Javascript °°Àº ±âŸ Client Script ¸¦ ÀÌ¿ëÇÏ¿© ´ëºÎºÐ °ø°ÝÀÌ ÀÌ·ç¾îÁý´Ï´Ù. ±×·¯¹Ç·Î Cookie Sniffing ÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀº, Client Script ¾ð¾î¸¦ »ç¿ë °¡´ÉÇÏ´Ù´Â À̾߱Ⱑ µÇ´Âµ¥(¸ðµç Cookie Sniffing »óȲÀÌ ±×·¸´Ù´Â °ÍÀº ¾Æ´Õ´Ï´Ù. Cookie ¸¦ ¾ò´Â ¹æ¹ýÀº, Client Script ¸¦ ÀÌ¿ëÇÏ´Â ¹æ½ÄÀÌ ¾Æ´Ñ °ÍÀ¸·Îµµ ¾òÀ» ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¸é packet sniffing), ÀÌ Client Script ÀÇ Æ¯Á¤ ±â´ÉÀ» ÀÌ¿ëÇϸé À§ÀÇ ¹æ¾î ¾Ë°í¸®ÁòÀ» ¹«¿ëÁö¹°·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®¼¿¡¼´Â ÇöÀç ¹®¼ÀÇ URL ¿¡ °ü·ÃµÈ °´Ã¼ÀÎ location.href À» ÀÌ¿ëÇÒ °ÍÀÔ´Ï´Ù. ±×¸®°í ¶Ç, Zeroboard ÀÇ Admin ¸Þ´º Áß¿¡ head, foot ÆÄÀÏÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» ÀÌ¿ëÇÏ¿© Hacking À» ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¼³¸íÇÒ °ÍÀÔ´Ï´Ù.
2. ÀÌ¿ëµÉ ¼ö ÀÖ´Â °÷ ÀÌ ¹®¼¿¡¼ ¼³¸íÇÏ´Â ¹æ¹ýÀ» ÀÌ¿ëÇϸé, Á¢±ÙÇÏ´Â IP °¡ Admin IP ¿Í °°ÀºÁö ºñ±³ÇÏ´Â ¹æ¾î ¾Ë°í¸®ÁòÀ» ¹«¿ëÁö¹°·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù. Cookie Sniffing ±â¼úÀÌ ¹ßÀüÇÏ¸é¼ ÀÌ·¯ÇÑ ¹æ¾î ·çƾÀÌ ¸¹Àº CGI ¿¡ »ðÀԵǾúÀ»°Å¶ó »ý°¢ÇÕ´Ï´Ù. °Ô½ÃÆÇ, ÀÚ·á½Ç, À¥¸ÞÀÏ, ¼îÇθô ±âŸ µîµî¿¡ ÀÌ ±â¹ýÀ» ÀÀ¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© °ø°Ý¿¡ ¼º°øÇÏ¿´À» °æ¿ì¿¡´Â, ƯÁ¤ ID ÀÇ Password ¸¦ ¹Ù²Ù°Å³ª, ȤÀº Target System ÀÇ Shell À» ¾ò´Â °Í±îÁö, ´Ù¾çÇÑ ÇØÅ·µéÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®¼¿¡¼´Â, Zeroboard ÀÇ head, foot ÆÄÀÏ ÁöÁ¤ ±â´ÉÀ» ÀÌ¿ëÇÏ¿© /etc/passwd ÆÄÀÏÀ» Àд ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù. (¹°·Ð, ÀÌ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© Target System ÀÇ Shell À» µû´Â °Íµµ °¡´ÉÇÕ´Ï´Ù. ±×¿¡ ´ëÇÑ ¹æ¹ýÀº Automatic attack program that can be used in Cookie Sniffing ¹®¼¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.)
3. ±â¼úÀûÀÎ ³»¿ë ¸ÕÀú ÇØÄ¿°¡ ƯÁ¤ Á¤º¸ÀÇ Cookie(ÀÌ ¹®¼¿¡¼´Â SessionÀ» Æ÷ÇÔÇÏ¿© ¾ð±ÞÇϰڽÀ´Ï´Ù.) ¸¦ °¡Á®¿À±â À§Çؼ ÀÌ¿ëÇÏ´Â °¡Àå ´ëÇ¥ÀûÀÎ ¹æ¹ýÀº Javascript °°Àº Client Language Script µéÀ» ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. °¡Àå ³Î¸® ¾Ë·ÁÁ® ÀÖ´Â Cookie Sniffing ÀÇ ÀϹÝÀûÀÎ ¼Ò½º´Â ´ÙÀ½°ú °°½À´Ï´Ù.
sample.html <html>
Hacker °¡ Cookie Sniffing À» ÅëÇØ Cookie ¸¦ »©¿À°Ô µÇ¸é, ÀÌ Cookie ¸¦ ÀÌ¿ëÇÏ¿© ´Ù½Ã °ø°ÝÀ» ÇØ¾ßÇÕ´Ï´Ù. ÈÉÃĿ Cookie Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ´Ù½Ã Target CGI ¿¡ Á¢±ÙÇÏ´Â °ÍÀ» º¸Åë Cookie Spoofing À̶ó ºÎ¸¨´Ï´Ù. ÀÌ ¹®¼¿¡¼´Â Cookie Sniffing, Spoofing ÀÌ µÎ °úÁ¤À» ÇØÄ¿°¡ ¼öÇàÇÒ Çʿ䰡 ¾ø´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¼ °ÍÀÔ´Ï´Ù. ¿ìȸÇÒ º¸¾È ¾Ë°í¸®Áò¿¡ ´ëÇØ¼ Á¶±Ý ´õ ÀÚ¼¼ÇÏ°Ô ¾Ë¾Æº¸°Ú½À´Ï´Ù. À§¿¡¼, ÇØÄ¿°¡ Cookie Sniffing ±â¼úÀ» ÅëÇØ Cookie ¸¦ ÈÉÃÄ¿À´Â µ¥ ¼º°øÇß´Ù¸é, ±× Cookie ¸¦ ÀÌ¿ëÇÏ¿© ´Ù½Ã Target CGI ¿¡ Á¢±ÙÇØ¾ßÇÑ´Ù´Â °ÍÀ» ¾ð±ÞÇß½À´Ï´Ù. ´Ù½Ã Á¢±ÙÇÏ´Â ÀÌ °úÁ¤À» Spoofing À̶ó Çϴµ¥, Zeroboard ¿¡¼´Â ÀÌ Spoofing °ø°ÝÀ» ¸·±â À§Çؼ ´ÙÀ½°ú °°Àº ·çƾÀ» ³Ö¾ú½À´Ï´Ù. ´ÙÀ½Àº lib.php ¼Ò½ºÀÇ member login ó¸® ºÎºÐÀÔ´Ï´Ù.
lib.php
if($HTTP_SESSION_VARS["zb_logged_no"]) { // ·Î±×ÀÎ ½Ã°£ÀÌ ÁöÁ¤µÈ ½Ã°£À» ³Ñ¾ú°Å³ª ·Î±×ÀÎ ¾ÆÀÌÇǰ¡ ÇöÀç »ç¿ëÀÚÀÇ ¾ÆÀÌÇÇ¿Í ´Ù¸¦ °æ¿ì ·Î±×¾Æ¿ô ½ÃÅ´ $zb_logged_no=""; // À¯È¿ÇÒ °æ¿ì ·Î±×ÀÎ ½Ã°£À» ´Ù½Ã ¼³Á¤
À§ÀÇ ¼Ò½º¿¡¼ $HTTP_SESSION_VARS["zb_logged_ip"] ¿¡ ÀúÀåµÈ °ªÀº, Á¤»óÀûÀÎ Admin ÀÌ Zeroboard ¿¡ ·Î±×ÀÎÇÒ ¶§ ¸¸µé¾îÁö´Â °ÍÀÔ´Ï´Ù. Áï, Admin ÀÇ IP °¡ ÀúÀåµË´Ï´Ù. Admin ÀÇ ºÎÁÖÀÇ·Î Cookie Sniffing ±â¼ú¿¡ Cookie ¸¦ ÇØÄ¿¿¡°Ô µµµÏ¸Â¾Æµµ, ´ÙÀ½ÀÇ ºñ±³ ·çƾ ¶§¹®¿¡ ÇØÄ¿´Â Cookie Spoofing À» ÇÒ ¼ö ¾ø½À´Ï´Ù. (±âŸ ´Ù¸¥ ºÎºÐÀÇ ¼Ò½º´Â Zeroboard ¼Ò½º¸¦ ´Ù¿î¹Þ¾Æ ºÐ¼®Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù.)
$HTTP_SESSION_VARS["zb_logged_ip"]!=$REMOTE_ADDR
$REMOTE_ADDR Àº, Client IP °¡ ´ã±ä ȯ°æ º¯¼öÀε¥, ¸¸¾à ÀÌ °ªÀÌ Zeroboard ¿¡ ·Î±×ÀÎÇÒ ¶§ »ý¼ºµÈ zb_logged_ip °ª°ú °°Áö ¾Ê´Ù¸é Session Àº ÃʱâÈµÇ¸é¼ Á¦°ÅµË´Ï´Ù. Hacker °¡ Cookie Spoofing À» ÇÒ ¶§ $REMOTE_ADDR °ªÀº, ÇØÄ¿ÀÇ IP °¡ µÉ °ÍÀÔ´Ï´Ù. ´ç¿¬È÷, À§ÀÇ IP Check ·çƾ¿¡ °É¸®°Ô µÇ¸é¼ ¼¼¼ÇÀÌ ÃʱâÈ, Áï Á¢±ÙÀÌ Â÷´ÜµÉ °ÍÀÔ´Ï´Ù. ÀÌ ¹®¼¿¡¼´Â ¹Ù·Î À§ÀÇ IP Check ·çƾÀ» ±ú´Â ¹æ¹ý¿¡ ´ëÇØ¼ ´Ù·ê °ÍÀÔ´Ï´Ù. ÇØÄ¿ÀÇ °ø°ÝÀ» ¸·´Â À§ ¹æÇع°À» ±ú´Â ¹æ¹ý·ÐÀº ¸î°¡Áö°¡ ÀÖ½À´Ï´Ù. ù¹øÂ°, Session ¿¡ ÀúÀåµÈ zb_logged_ip °ªÀ» ÀÓÀÇ·Î º¯°æÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª ÀÌ Session ¿¡ ÀúÀåµÈ °ªÀ» º¯°æÇϱâ À§Çؼ´Â, Zeroboard ÀÇ Admin ID ·Î Á¤»óÀûÀÎ ·Î±×ÀÎ °úÁ¤À» °ÅÃľßÇÑ´Ù´Â À̾߱âÀÔ´Ï´Ù. ·Î±×ÀÎÀ» Çϱâ À§Çؼ´Â Admin ÀÇ Password °¡ ÇÊ¿äÇѵ¥, ÇöÀç ÇØÄ¿´Â Session °ªÀ» °®°í ÀÖÀ» »ÓÀÌÁö Admin ÀÇ Password ¸¦ ¾Ë°í ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. µÎ¹øÂ°, ÇØÄ¿ÀÇ IP ¸¦ Admin IP ·Î À§Á¶ÇÏ´Â ¹æ¹ý, Áï $REMOTE_ADDR ¸¦ Á÷Á¢ Á¶ÀÛÇÏ´Â ¹æ¹ýÀε¥, ¾ÆÁ÷±îÁö´Â $REMOTE_ADDR ȯ°æ º¯¼ö¸¦ ÀÓÀÇ·Î Á¶ÀÛÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼´Â ¾Ë·ÁÁø¹Ù°¡ ¾ø½À´Ï´Ù. ¼¼¹øÂ°, Admin ÀÇ ÄÄÇ»Å͸¦ Á÷Á¢ ÇØÅ·ÇÏ¿© CGI ¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ±×·¯³ª ÀÌ ¹æ¹ýÀº CGI ¸¦ ÇØÅ·ÇÏ´Â °Íº¸´Ù ¿ÀÈ÷·Á ´õ Èûµç ¹æ¹ýÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ¹ö±×°¡ ¾ø´Â ¹öÀüÀÇ Client OS ¸¦ »ç¿ëÇϰí ÀÖ´Â Admin À̶ó¸é ´õ¿í ±×·¸½À´Ï´Ù. ³×¹øÂ°´Â ¹Ù·Î ÀÌ ¹®¼¿¡¼ »ç¿ëÇÒ ¹æ¹ýÀÔ´Ï´Ù. ÇØÄ¿°¡ Zeroboard Admin ID ·Î ·Î±×ÀÎÇÑ ¿î¿µÀÚÀÇ À¥ ºê¶ó¿ìÀú¸¦ Á¶Á¾ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. À̰ÍÀº AdminÀÇ ÄÄÇ»Å͸¦ Á÷Á¢ÀûÀ¸·Î ÇØÅ·ÇÏ´Â ±â¹ýÀº ¾Æ´Õ´Ï´Ù. ¸¸¾à ÇØÄ¿°¡ Admin ÄÄÇ»ÅÍÀÇ À¥ ºê¶ó¿ìÀú¸¦ Á¶Á¾ÇÏ¿©¼, Admin ÄÄÇ»ÅÍ¿¡¼ Target Server ¿¡ Á¢±ÙÇÑ´Ù¸é
$HTTP_SESSION_VARS["zb_logged_ip"]!=$REMOTE_ADDR
ÀÌ IP üũ ·çƾÀ» ÀÌ»ó¾øÀÌ Áö³ªÄ¥ ¼ö ÀÖ½À´Ï´Ù. Admin ÀÇ À¥ ºê¶ó¿ìÀú¸¦ Á¶Á¾ÇÏ¿© CGI ¿¡ Á¢±ÙÇÏ¿´À» °æ¿ì, À§ÀÇ $REMOTE_ADDR Àº Admin ÀÇ ÄÄÇ»ÅÍÀ̱⠶§¹®¿¡ Session ¿¡ ÀúÀåµÈ zb_logged_ip °ª°ú °°½À´Ï´Ù. ±×·¯¸é ÀÌÁ¦ ¾î¶² ¹æ¹ýÀ¸·Î Admin À» Á¶Á¾ÇÒ ¼ö ÀÖ´ÂÁö ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¸ÕÀú, ¿ì¸®°¡ Admin ÄÄÇ»ÅÍ¿¡°Ô ÇØ¾ß ÇÒ °ÍÀÌ ¹«¾ùÀÎÁö ¾Ë¾Æº¸°Ú½À´Ï´Ù. 1. °³¿ä ¿¡¼ ¸»¾¸µå·ÈÁö¸¸ ÀÌ ¹®¼¿¡¼´Â, Target Server ÀÇ /etc/passwd ¸¦ Àд ¹æ¹ý¿¡ ´ëÇØ¼ »ìÆìº¸°Ú½À´Ï´Ù. (¹°·Ð ÀÌ °ÍÀ» ÀÀ¿ëÇÏ¸é ½±°Ô Shell À» µþ ¼ö ÀÖ½À´Ï´Ù.) ¿ì¸®°¡ »ç¿ëÇÏ´Â ¹æ¹ýÀÇ ¼ø¼´Â ´ÙÀ½°ú °°½À´Ï´Ù. 1. Zeroboard Admin Menu ¿¡ Á¢±Ù À§ÀÇ 5 °¡Áö »çÇ×Àº ±×¸® ±æÁö ¾ÊÀº ³»¿ëÀ̹ǷÎ, µû·Î ³ª´©¾î Á¤¸®¸¦ ÇÏÁö ¾Ê°í ÇѲ¨¹ø¿¡ ¼³¸íÇϰڽÀ´Ï´Ù. Á¦·Îº¸µå¿¡¼ »õ·Î¿î °Ô½ÃÆÇÀ» ¸¸µé±â À§Çؼ Á¢±ÙÇØ¾ß ÇÏ´Â CGI ´Â admin_setup.php ¶ó´Â CGI ÆÄÀÏÀÔ´Ï´Ù. À̶§ ȯ°æ ¼³Á¤À» Á¦´ë·Î ÇØÁÖ¾î¾ß ¿ì¸®°¡ ¿øÇÏ´Â °Ô½ÃÆÇÀ» Á¤»óÀûÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¼ ȯ°æ ¼³Á¤À̶õ ¿©·¯ °¡Áö º¯¼ö °ªµéÀ» ÀǹÌÇÕ´Ï´Ù. ¿©±â¼´Â °¡Àå Áß¿äÇÑ 3 °¡ÁöÀÇ º¯¼ö¿¡ ´ëÇØ¼¸¸ ¾Ë¾Æº¸°Ú½À´Ï´Ù. exec2 = add_ok (°Ô½ÃÆÇÀ» »ý¼ºÇÏ´Â ¸ðµå¸¦ ¶æÇÕ´Ï´Ù.) À§ º¯¼öµéÀ» ÁÖÀDZí°Ô º¸½Ã°í ³ª¸ÓÁö º¯¼öÀÇ ±â´É¿¡ ´ëÇØ¼´Â ¿©·¯ºÐÀÌ ¾Ë¾Æº¸½Ã±â ¹Ù¶ø´Ï´Ù. (º¯¼öÀÇ À̸§ÀÌ ±× ±â´É°ú °ü·ÃµÈ °ÍµéÀÌ ¸¹À¸¹Ç·Î, º¯¼ö À̸§¸¸ º¸°íµµ ½±°Ô ÁüÀÛÇÒ ¼ö ÀÖÀ»°Å¶ó »ý°¢µË´Ï´Ù.) À§ º¯¼ö 3 °³¿Í, ³ª¸ÓÁö º¯¼öÀÇ °ªµéÀ» ä¿ì¸é ´ÙÀ½°ú °°½À´Ï´Ù. ´ÙÀ½ÀÇ º¯¼öµéÀ» admin_setup.php ¸¦ ¿äûÇÒ ¶§ °°ÀÌ Àü´ÞÇØ¾ß ÇÕ´Ï´Ù. no= (À§ÀÇ º¯¼ö °ªµéÁß, °ªÀÌ ¾ø´Â º¯¼ö´Â CGI ·Î ³Ñ±æ¶§ ±»ÀÌ ÇÊ¿äÇÏÁö ¾ÊÀº º¯¼öµéÀ̶ó ÷ºÎÇÏÁö ¾Ê¾Æµµ µÇÁö¸¸, Çü½Ä»ó Ç¥±â¸¦ ÇÏ¿´½À´Ï´Ù.) À§ÀÇ º¯¼öµéÀ» Á¤»óÀûÀ¸·Î ä¿î ÈÄ, admin_setup.php ¸¦ ¿äûÇÑ´Ù¸é, hackbeist À̸§À» °®´Â °Ô½ÃÆÇÀÌ head file À» /etc/passwd ·Î ÁöÁ¤ÇÑ Ã¤ »ý¼ºÀÌ µÉ °ÍÀÔ´Ï´Ù. ÇØÄ¿´Â ÀÌ ÀÛ¾÷À» Admin ÀÌ Çϵµ·Ï Á¶Á¾À» ÇØ¾ßÇÕ´Ï´Ù. ¾î¶² ¹æ¹ýÀ¸·Î Á¶Á¾À» ÇÒ ¼ö ÀÖ´ÂÁö ÀÌÁ¦ º»°ÝÀûÀ¸·Î ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¿ì¸®´Â Javascript ¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¼ °ÍÀÔ´Ï´Ù. Cookie Sniffing À» ÇÒ ¶§, »ç¿ëÇÏ´Â window.open ´ë½Å location.href °´Ã¼¸¦ ÀÌ¿ëÇÏ¿©, ÇöÀç À¥ºê¶ó¿ìÀúÀÇ ÁÖ¼Ò¸¦ ¿ì¸®°¡ ¿øÇϴ ƯÁ¤ ÁÖ¼Ò·Î ÁöÁ¤ÇÒ °ÍÀÔ´Ï´Ù. Áï, Admin ÀÇ À¥ ºê¶ó¿ìÀú ÁÖ¼Ò¸¦ admin_setup.php À¸·Î ÁöÁ¤ÇÔÀ¸·Î½á, ¿ì¸®°¡ ¿øÇÏ´Â ÀÏÀ» ÇØ³¾ ¼ö ÀÖ½À´Ï´Ù. ÇØÄ¿´Â, Admin ÀÇ À¥ ºê¶ó¿ìÀú¸¦ admin_setup.php CGI ·Î º¸³¾¶§, À§ÀÇ º¯¼öµéÀ» GET method ÇüÅ·Πº¸³»ÁÖ¾î¼, °Ô½ÃÆÇÀ» »ý¼ºÇÒ ¼ö ÀÖµµ·Ï ÇØ¾ßÇÕ´Ï´Ù. ±× javascript ¼Ò½º¸¦ ¾Ë¾Æº¸¸é ´ÙÀ½°ú °°½À´Ï´Ù. (¿©±â¼ Cookie Sniffing ¹æ¹ýÀº, Cookie Sniffing by Using txt extension ¹®¼¿¡¼ »ç¿ëÇÑ ¹æ¹ýÀ» ÀÌ¿ëÇϰڽÀ´Ï´Ù.) ¸ÕÀú, Target ÀÇ Á¤º¸¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
Target Server URL - http://beist.org
ÇØÄ¿´Â À§ÀÇ Á¤º¸µéÀ» Âü°íÇÏ¿© °ø°Ý ÇÁ·Î±×·¥ (À¥ ºê¶ó¿ìÀúÀÇ location.href ¸¦ Á¶ÀÛÇÏ´Â javascript) À» ÀÛ¼ºÇÑ ÈÄ, ÀÌ ÆÄÀÏÀ» Target ¼¹öÀÇ Zeroboard ¿¡ ¿Ã¸³´Ï´Ù. Admin ÀÌ ÀÌ ÆÄÀÏÀ» Àд ¼ø°£ °ø°ÝÀÌ ÁøÇàµË´Ï´Ù. ¼Ò½º¸¦ ¾Ë¾Æº¸°Ú½À´Ï´Ù. test.txt¿¡¼ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Â °ø°Ý ÄÚµå´Â »èÁ¦ÇÏ¿´½À´Ï´Ù.
test.txt
<html> location.href=targetcgi+ // ÁÖ¿ä ÄÚµå »èÁ¦
ÇØÄ¿°¡ ¿Ã¸° test.txt ÀÇ URL Àº ´ÙÀ½°ú °°½À´Ï´Ù. test.txt URL - http://beist.org/~beist/zero/data/test.txt
¼Ò½ºÀÇ ³»¿ëÀº ¾î·ÆÁö ¾ÊÀ¸¹Ç·Î ÁÖ¼®À» ´ÞÁö ¾Ê¾Ò½À´Ï´Ù. À§ÀÇ ¼Ò½º´Â ÇØÄ¿°¡ ¿øÇÏ´Â °Ô½ÃÆÇÀ» »ý¼ºÇϵµ·Ï, Admin ÀÇ À¥ºê¶ó¿ìÀú¸¦ Á¶Á¾ÇÒ °ÍÀÔ´Ï´Ù. Admin ÀÌ test.txt ÆÄÀÏÀ» ÀÐ°Ô µÇ¾úÀ» ¶§ ȸéÀ» ĸÃÄÇØº¸¾Ò½À´Ï´Ù. (AdminÀÌ ÀÐ°Ô Çϵµ·Ï ¿©·¯ °¡Áö ¹æ¹ýÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.)
[ȸé1] http://beist.org/~beist/zero/data/test.txt (Admin ÀÌ ÇØÄ¿°¡ ¿Ã¸° test.txt À» ÀоúÀ» ¶§)
ȸé1 : Admin ÀÌ ÇØÄ¿°¡ ¿Ã¸° test.txt ÆÄÀÏÀ» Àаí, admin_setup.php ·Î À̵¿Çϱâ ÀüÀÇ È¸éÀÔ´Ï´Ù.
[ȸé2] test.txt ÆÄÀÏÀ» Àаí, location.href °¡ admin_setup.php ·Î º¯ÇÑ È¸é
ȸé 2 : admin_setup.php ·Î ³Ñ¾î°¡ hackbeist °Ô½ÃÆÇÀ» »ý¼ºÇÑ È¸éÀÔ´Ï´Ù.
[ȸé3] hackbeist °Ô½ÃÆÇ ȸé
ȸé 3 : hackbeist ¸¦ ¿äÃ»ÇØº» °á°ú, /etc/passwd ÆÄÀÏÀÌ header ÆÄÀÏ·Î Æ÷ÇԵǾî ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î Admin ÀÇ À¥ ºê¶ó¿ìÀú¸¦ Á¶Á¾ÇÏ¿© ÇØÄ¿°¡ ¿øÇÏ´Â ÀÏÀ» ÇØ³¾ ¼ö ÀÖ½À´Ï´Ù. header ÆÄÀÏ·Î ÁöÁ¤ÇÏ´Â °ÍÀ» /etc/passwd °¡ ¾Æ´Ñ, ÇØÄ¿°¡ Àӽ÷Π¸¸µç ¾ÇÀÇÀûÀÎ ÆÄÀϵîÀ» include ÇÑ´Ù¸é, Web Server ÀÇ Shell À» µþ ¼ö ÀÖ½À´Ï´Ù. (ÀÌ ¹æ¹ý¿¡ ´ëÇØ¼´Â Á¦°¡ ¾´ ´Ù¸¥ °ÁµéÀ» Âü°íÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù. ¿©±â¼´Â ÀÌ·¯ÇÑ ÇØÅ· ¹æ¹ýÀÌ ÀÖ´Ù´Â ¾Ë¾Æº¸±â À§ÇÔÀ¸·Î /etc/passwd ¸¦ header ÆÄÀÏ·Î ÁöÁ¤ÇÏ¿´½À´Ï´Ù.)
4. ¸¶Ä¡´Â ¸» ÇØÄ¿ÀÇ Cookie Spoofing °ø°ÝÀ» ¹æÁöÇÏ´Â CGI º¸¾È ·çƾÀ» ¿ìȸÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î IP ÀÎÁõ üũ¸¦ ³Ñ¾î°¥ ¼ö ÀÖ½À´Ï´Ù. location.href °´Ã¼¸¦ ÀÌ¿ëÇÑ °ÍÀº ÇÑ °¡Áö ¿¹¸¦ µç °ÍÀÏ »ÓÀ̰í, ´Ù¸¥ °ÍµéÀ» ÀÌ¿ëÇÏ¿© ´õ ¸¹Àº °ÍµéÀ» ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×¸®°í, À§¿Í ¶È°°Àº ±â´ÉÀÇ ÇØÅ·À» ÇÒ ¶§, À§¿¡¼ ¼³¸íÇÑ °Íº¸´Ù ÈξÀ ´õ ½¬¿î ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ¹Ù·Î ±ÛÀ» ¾µ¶§ HTMLÀÇ <img> ű׸¦ ÀÌ¿ëÇÏ¿© Á¦·Îº¸µå º»¹®¿¡ »ðÀÔÇÏ´Â °ÍÀÔ´Ï´Ù. img ¿ª½Ã GET ¿äûÀ̱⠶§¹®¿¡ À§¿¡¼ ´Ù·ç¾ú´ø °Í°ú °°Àº °á°ú¸¦ ³¾ ¼ö ÀÖ½À´Ï´Ù. ¹®Á¦°¡ µÉ ¼ö ÀÖ´Â ÁÖ¿ä ÄÚµå´Â »èÁ¦ÇÏ¿´½À´Ï´Ù.
<img src=//ÁÖ¿ä ÄÚµå »èÁ¦ width=0 height=0 >
ÀÌ·¯ÇÑ ³»¿ëÀÇ °Ô½Ã¹°À» Admin ÀÌ º¸°ÔµÇ¸é, 3. ±â¼úÀûÀÎ ³»¿ëÀÇ °úÁ¤À» ¼öÇàÇØ¼ ¾òÀº °Í°ú ¶È°°Àº °ÍÀ» ÇØÄ¿´Â ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù. img ű׸¦ ÀÌ¿ëÇÏ¿© Client °¡, admin_setup.php ¸¦ ¿äûÇϰԲû ¸¸µå´Â ±â¼úÀÔ´Ï´Ù. img ÅÂ±× À̿ܿ¡µµ Client °¡ ƯÁ¤ ÆäÀÌÁö¸¦ ¿äûÇÏ°Ô ¸¸µé¼ö¸¸ ÀÖ´Ù¸é ¾î´À ÅÂ±×¶óµµ °¡´ÉÇÕ´Ï´Ù. (¿¹¸¦ µé¸é, embed µîÀÇ Å±×) °Ô´Ù°¡ ÀÌ °ø°ÝÀº, width °°Àº, °´Ã¼ÀÇ ±æÀÌ ¼³Á¤À» 0 À¸·Î ¸¸µé¾î¹ö¸®¸é, À¥ºê¶ó¿ìÀú »ç¿ëÀÚÀÇ ´«¿¡ ¶çÁöµµ ¾Ê±â ¶§¹®¿¡ ÇØÄ¿°¡ ¸¶À½¸¸ ¸Ô´Â´Ù¸é JavaScript¸¦ ¾²Áö ¾Ê°íµµ ½±°Ô ÇØÅ· ÇÏ´Â °ÍÀÌ °¡´ÉÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °£´ÜÇÑ ¹æ¹ýµµ ÀÖÁö¸¸ ÀÌ ¹®¼¿¡¼ location.href ¸¦ ÀÌ¿ëÇÑ º¹ÀâÇÑ ¹æ¹ýÀ» ±â¼úÇÑ ÀÌÀ¯´Â, ÀÌ ¹®¼¿¡¼ »ç¿ëÇÑ ¹æ¹ýÀ» ÀÀ¿ëÇϸé ÀÌ ¿Ü¿¡µµ ¿©·¯ °¡Áö ÇØÅ·À» ÇÒ ¼ö ÀÖ´Ù´Â °¡´É¼º¿¡ ´ëÇØ¼ ¸»ÇϰíÀÚ ÇÏ´Â Àǵµ¿´½À´Ï´Ù.
|