lecture Home > ASP.NET > Taeyo's ASP.NET

Taeyo's ASP.NET

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2003³â 08¿ù 02ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2003³â 08¿ù 04ÀÏ

   °­Á ÀÐÀ½ ¼ö : ȸ

   ÀÛ¼ºÀÚ : Taeyo(±è Å¿µ)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : º¸¾È°­ÁÂ! SQL Injection!!

°­Á Àü Å¿ÀÀÇ Àâ´ã>

^^; Å¿À Áê´Ï¾î°¡ ÀÌÁ¦ °ð Ãâ½Ã¸¦ ¾ÕµÎ°í ÀÖ½À´Ï´Ù. ¿©·¯°¡Áö Æ®·¯ºíÀÌ ÀÖÁö¸¸, ¾ÈÀü¼ºÀ» À¯ÁöÇϸ鼭 ¹ö±×¾øÀÌ Ãâ½ÃµÇ±â¸¦ ¹Ù¶ó´Â ¸¶À½ÀÌ °£ÀýÇÕ´Ï´Ù. ȱÆÃ.. Áê³Ä~~


¾È³çÇϼ¼¿ä? Å¿ÀÀÔ´Ï´Ù.

À̹ø °­Á¿¡¼­´Â ±×µ¿¾È ¼öµµ ¾øÀÌ °­Á¶ÇßÁö¸¸ ¿©ÀüÈ÷ ÁöÄÑÁöÁö ¾Ê°í ÀÖ´Â ³ª»Û ÇÁ·Î±×·¡¹Ö ½À°ü¿¡ ´ëÇÑ À̾߱⸦ ÇØº¼±î ÇÕ´Ï´Ù. ±×·¯ÇÑ, ³ª»Û(?) ÇÁ·Î±×·¡¹Ö Äڵ尡 »çÀÌÆ®¸¦ º¸¾ÈÀûÀ¸·Î À§ÇèÇÏ°Ô ¸¸µé°í ÀÖ°í, ±×¸¦ ÅëÇØ¼­ ¿©·¯ ÇüÅÂÀÇ ÇØÅ·ÀÌ ½ÃµµµÇ°í ÀÖ´Â ÇüÆíÀ̱⿡ Á¦ »çÀÌÆ®¿¡¼­µµ °­·ÂÇÏ°Ô ÀÌ ³»¿ëÀ» ¸í½ÃÀûÀ¸·Î(!) ´Ù·ïÁà¾ß ÇÑ´Ù´Â ¿äû(?)ÀÌ À־¿ä -_-+

±× ³»¿ëÀº ´Ù¸§ÀÌ ¾Æ´Ñ SQL ÀÎÁ§¼Ç¿¡ ´ëÇÑ À̾߱âÀÔ´Ï´Ù.

¹°·Ð, ÇöÀç ¸¹ÀÌµé °ø°Ý¹Þ°í ÀÖ´Â ¹æ¹ý¿¡´Â SQL ÀÎÁ§¼Ç¸¸ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. Å©·Î½º »çÀÌÆ® ½ºÅ©¸³ÆÃ(XSS), SQLÀÎÁ§¼Ç µîÀÌ °Ô½ÃÆÇÀ» ÅëÇØ¼­ °ø°ÝÀÌ °¡´ÉÇÑ ÇØÅ· ¹æ¹ýµéÀä. À§ÇèÇϱâ·Î µûÁö¸é XSS º¸´Ù´Â SQL ÀÎÁ§¼ÇÀÌ ´õ´õ¿í À§ÇèÇϱ⿡ ÀÌ ³»¿ëºÎÅÍ ¿ì¼±ÀûÀ¸·Î ´Ù·ç·Á°í ÇÕ´Ï´Ù.

ÀÌ ÀÎÁ§¼Ç °ø°ÝÀº ÃÖ±Ù¿¡ ¸ð °áÈ¥Á¤º¸ »çÀÌÆ®¿¡¼­µµ È£µÇ°Ô ´çÇÑÀûÀÌ ÀÖ´Â °ø°ÝÀ̱⵵ ÇÏÁö¿ä. ³»¿ëÀÌ ±Ã±ÝÇϽŠºÐÀº ´ÙÀ½ ±â»ç¸¦ Çѹø Àо½Ã±â ¹Ù¶ø´Ï´Ù.

³×À̹ö ´º½º : [±¸¸Û³­ eÄÚ¸®¾Æ] º¸¾È½Ã½ºÅÛÀÇ ÇѰè

ƯÈ÷³ª, º¸¾ÈÀº ÃÖ±Ù ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ÃÖ´ë À̽´»çÇ×À̱⿡ ´õ¿í ÀÌ °­Á¿¡ ÈûÀ» ½Ç¾î¾ß ÇÏÁö ¾Ê³ª ½Í½À´Ï´Ù. È£°î... °©ÀÚ±â ÈûÀ» ÁÖ¾î¾ß ÇÑ´Ù°í ÇÏ´Ï... °©ÀÚ±â... ¾ù... Poooooozic!! -_-;

±×·¸´Ù¸é, SQL ÀÎÁ§¼ÇÀ̶õ °ÍÀº ¹«¾ùÀ̳Ä???

ÀÚ¼¼ÇÑ ³»¿ëÀº »ç½Ç, Á¦°¡ 2004³â¿¡ Microsoft Developer days 2004¿¡¼­ ¹ßÇ¥Çß´ø Developing Secure Web Applications ÀÚ·á(º¸°í ½Í´Ù¸é ¿©±æ Ŭ¸¯!!)¸¦ º¸½Ã¸é µµ¿òÀÌ µÇ½Ã°ÚÁö¸¸ ¸»ÀÔ´Ï´Ù.

ÀÌ´Â SQL Äõ¸® ¹®ÀÚ¿­ »çÀÌ¿¡ À½ÈäÇÑ(?) Äڵ带 ³¢¾î³Ö¾î¼­ ½ÇÇà½ÃŰ°Ô ÇÏ´Â °ø°Ý ¹æ¹ýÀ» ¸»ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °ø°ÝÀÌ °¡´ÉÇÏ·Á¸é ´ÙÀ½°ú °°Àº ÇÊ¿äÁ¶°ÇÀÌ ¿ä±¸µÇÁö¿ä.

1. »ç¿ëÀÚÀÇ ÀÔ·Â °ªÀ» ÇÊÅ͸µ, ÀÎÄÚµù ¾øÀÌ ±×´ë·Î ¼­¹ö ÆäÀÌÁö¿¡¼­ »ç¿ëÇÑ´Ù.
2. ±× ÀÔ·Â °ªÀ» ÀÌ¿ëÇØ¼­ ¼­¹ö ÆäÀÌÁö´Â Äõ¸®¸¦ ¼öÇàÇÑ´Ù.
2. ¸í·É ½ÇÇàÀ» À§ÇØ »ç¿ëµÇ´Â SQL ¼­¹ö °èÁ¤ÀÌ SAÀÏ °æ¿ì, ÇÇÇØ´Â ´õ Ä¿Áú ¼ö ÀÖ´Ù.

ÀÌ·¯ÇÑ Á¶°ÇÀ» È®½ÇÇÏ°Ô ¹æ¾îÇÑ´Ù¸é »ç½Ç SQL ÀÎÁ§¼ÇÀº ±×´ÙÁö µÎ·Á¿î °ø°ÝÀÌ ¾Æ´Õ´Ï´Ù. ¹Ì¿¬¿¡ ÀÌ·¯ÇÑ °ø°ÝÀ» ¸øÇϵµ·Ï º¸¾ÈÀûÀ¸·Î Äڵ带 ±¸ÇöÇÑ´Ù¸é ¸»ÀÔ´Ï´Ù.

±×·±µ¥!!!

¹®Á¦´Â ¼ö ¸¹Àº »çÀÌÆ®°¡ À§ÀÇ Á¶°ÇÀ» ¸¸Á·½ÃŰ´Â ÇüÅÂÀÇ Äڵ带 »ç¿ëÇϰí ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ¾î¶² °æ¿ì´Â °³¹ßÀÚÀÇ ¹«Áö·Î ÀÎÇØ¼­, ¾î¶² °æ¿ì´Â ¾Ë¸é¼­µµ ¹Ù²Ù±â ±ÍÂú¾Æ¼­ µîÀÇ ÀÌÀ¯·Î ÀÎÇØ¼­ ¸»ÀÔ´Ï´Ù.

±×·¸´Ù¸é, Çѹø ÇØ º¾½Ã´Ù. SQL ÀÎÁ§¼ÇÀÇ ´ëÇ¥ÀûÀÎ Èñ»ý¾çÀÌ µÉ ¼ö ÀÖ´Â °æ¿ì¸¦ ¸»ÀÔ´Ï´Ù. ÀÏ´Ü, ¿©·¯ºÐÀÌ »çÀÌÆ® °³¹ßÀÚ°í ¿©·¯ºÐÀÇ »çÀÌÆ®¿¡¼­ ¾î¶² °Ë»ö ±â´ÉÀÌ¶ó´ø°¡ ±Û ÀúÀå±â´ÉÀÌ¶ó´ø°¡, ȸ¿ø °¡ÀÔ ±â´ÉÀÌ¶ó´ø°¡... ¾î¶² ±â´ÉÀÌ´øÁö °£¿¡ »ç¿ëÀڷκÎÅÍ ÀÔ·Â ¹ÞÀº °ªÀ» µ¥ÀÌÅͺ£À̽º¿¡ ¹Ý¿µÇÏ´Â ¸ðµâÀÌ ÀÖ´Ù°í ÇØº¾½Ã´Ù. ÀúÀÇ °æ¿ì´Â »ç¿ëÀڷκÎÅÍ »ç¿ëÀÚ ¾ÆÀ̵𸦠ÀԷ¹޾Ƽ­ ±×·¯ÇÑ ¾ÆÀ̵𰡠µ¥ÀÌÅͺ£À̽º¿¡ Á¸ÀçÇÏ´Â °æ¿ì¿¡´Â YES¸¦, Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â NO¸¦ Ãâ·ÂÇÏ´Â ´Ü¼øÇÑ ÆäÀÌÁö¸¦ ¸¸µé¾î º¸¾Ò½À´Ï´Ù. ÇÏÁö¸¸, ÀÌ·¯ÇÑ ºñ½ÁÇÑ À¯ÇüÀÇ Äڵ带 ¿©·¯ºÐµµ »ç¿ëÇϰí ÀÖÀ» °ÍÀ̸ç, ±×·¸±â¿¡ Äڵ带 ÀÌ·¯ÇÑ ÇüÅ·ΠÀÛ¼ºÇß´Ù´Â °ÍÀº ÇöÀç »ó´çÈ÷ À§ÇèÇÏ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.

¾î¶² Á¡ÀÌ ¹®Á¦ÀÎ °Å³Ä±¸¿ä??  ¾î¶² ºÎºÐÀÌ À§ÇèÇÑ °Å³Ä±¸¿ä? ±×°ÍÀº Äڵ带 ¸ÕÀú º¸°í ¼³¸íµå¸®µµ·Ï ÇϰڽÀ´Ï´Ù.

ÀÏ´Ü, À¥ Æû¿¡´Â ÀÔ·ÂÀ» ¹Þ±â À§ÇÑ TextBox Çϳª¿Í ¸Þ½ÃÁö Ãâ·ÂÀ» À§ÇÑ Label ÄÁÆ®·Ñ Çϳª, ±×¸®°í Button ÄÁÆ®·ÑÀÌ Çϳª ¿Ã¶ó°¡ ÀÖ½À´Ï´Ù¿ä. »ç¿ëÀÚ´Â TextBox¿¡ °Ë»öÀ» À§ÇÑ ¾ÆÀ̵𸦠ÀÔ·ÂÇϰí, ¹öưÀ» Ŭ¸¯ÇÕ´Ï´Ù. ±×·¯¸é, ±× °æ¿ì ´ÙÀ½°ú °°Àº Äڵ尡 µ¿ÀÛÇÏ°Ô µÇ´Â °ÍÀÌÁö¿ä.

private void Button1_Click(object sender, System.EventArgs e)
{
    string id = Id.Text;
    string Status = "No";
    string sqlString="";

    SqlConnection con = new SqlConnection("server=(local);database=Test;uid=sa;pwd=**");

    try
    {
        con.Open();

        sqlString = string.Format("SELECT name FROM Client WHERE ID='{0}'", id);
        Response.Write(sqlString + "<BR>");

        SqlCommand cmd = new SqlCommand(sqlString, con);
        if(cmd.ExecuteScalar() != null)
            Status = "YES";
    }
    catch(SqlException ex)
    {
        Status = "Failed\n";
        foreach(SqlError er in ex.Errors)
            Status += er.Message + "\n";
        }
    catch(Exception exp)
    {
        Status = exp.ToString();
    }
    finally
    {
        con.Close();
        con = null;
    }

    Label1.Text = Status;
}

ÀÌ ÄÚµåÀÇ ¹®Á¦Á¡Àº Å©°Ô 3°³ ÀÔ´Ï´Ù.

1. µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» sa °èÁ¤À» ÀÌ¿ëÇØ¼­ Çϰí ÀÖ½À´Ï´Ù.
2. »ç¿ëÀÚÀÇ ÀԷ°ªÀ» ¾î¶°ÇÑ °Ë»çµµ ¾øÀÌ ÀÔ·Â µé¾î¿Â ±×´ë·Î »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
3. SQL Äõ¸® ¹®ÀÚ¿­À» ¹®ÀÚ¿­ °áÇÕÀ¸·Î ¸¸µé¾î ±×´ë·Î µ¥ÀÌÅͺ£À̽º·Î ³¯·Á ¸í·ÉÀ» ¼öÇàÇϰí ÀÖ½À´Ï´Ù.

ÀÌ°Ô ¿Ö ¾öû³­ ¹®Á¦µéÀÎÁö¸¦ Áö±ÝºÎÅÍ ¼³¸íÇϵµ·Ï ÇϰڽÀ´Ï´Ù(ÀÌ¿¡ ´ëÇÑ ÀÌÀ¯¸¦ ¾Æ½Ã´Â ºÐµéÀº ³»°øÀÌ ÀÖÀ¸½Å ºÐµéÀÌ´Ï ^^;;  À̹ø °­Á´ »ìÆ÷½Ã ¿ôÀ¸¸é¼­ ÁöÄѺÁÁּŵµ ÁÁ°Ú½À´Ï´Ù. È÷È÷È÷~)

±×·³ ½Ç½À°ú ÇÔ²² Ãæ°ÝÀ» ÇǺηΠ´À²¸º¸´Â ½Ã°£À» °®µµ·Ï ÇϰڽÀ´Ï´Ù. ±×·¡¾ß ±â¾ïµµ ¿À·¡°¡°í ¹º°¡ ¾ÆÇĵµ Ŭ °Í °°³×¿°~~~  È÷È÷.. ¾ÆÇ¸¸Å­ ¼º¼÷ÇØÁø´Ù±¸ Çϴϱî¿ä~ -_-;;;;;;

¸¸ÀÏ, »ç¿ëÀÚ°¡ Á¤»óÀûÀ¸·Î ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù°í °¡Á¤ÇØ º¸¾Æ¿ä~~ ¹°·Ð, ´ëºÎºÐÀÇ »ç¿ëÀÚµéÀÌ ÀÌ·¸°Ô ÂøÇÏ´ä´Ï´Ù. ^^;

¾ÆÀ̵𰡠1001ÀÎ »ç¿ëÀÚ°¡ ÀÖÀ» °æ¿ì, ±× ¾ÆÀ̵𸦠ÀÔ·ÂÇÏ°í ¹öưÀ» ´­·¯ °á°ú¸¦ ½ÇÇà½ÃŰ¸é ´ÙÀ½°ú °°ÀÌ Á¤»óÀûÀ¸·Î 󸮰¡ µÇ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.

±Ùµ¥, ¸»ÀÔ´Ï´Ù. ÀÌ ¼¼»ó ¸ðµç »ç¶÷µéÀÌ ÀÌ·¸°Ô ÂøÇÑ °ÍÀÌ ¾Æ´Ï¶ó´Â °ÍÀÌ ¹®Á¦ÁÒ. ¾î¶² ÀÌ´Â º°·Î ¾È ÁÁÀº ÇൿÀ» Çϱ⵵ ÇÑ´Ù´Â °Ì´Ï´Ù. ¿¹¸¦ µé¸é, ´ÙÀ½°ú °°ÀÌ Çѹø ÀÔ·ÂÇØ º¸±âµµ ÇÑ´Ù´Â °ÍÀÌÁÒ.

Çã°Æ. À̰ÍÀº ¹«¼­¿î ¸í·ÉÀÌ ¾Æ´Ò ¼ö ¾ø½À´Ï´Ù. ±×·¸ÁÒ? º¸±â¸¸ ÇØµµ ²ûÂïÇÏÁÒ???

-_-;;; Àß ¸ð¸£½Ã°Ú´Ù±¸¿ä???

»ç¿ëÀÚ°¡ 1001' ; Shutdown --¿Í °°ÀÌ ÀÔ·ÂÇÏ°Ô µÇ°í, ÀÌ ¸í·ÉÀ» Äõ¸® ¹®ÀÚ¿­¿¡ Á÷Á¢ »ç¿ëÇÏ°Ô µÇ¸é µ¥ÀÌÅͺ£À̽º·ÎÀÇ ¸í·ÉÀº È­¸é¿¡¼­ º¸ÀÌ´Ù½ÃÇÇ ´ÙÀ½°ú °°ÀÌ ²Ù¸çÁö°Ô µË´Ï´Ù.

SELECT name FROM Client WHERE ID='1001' ; Shutdown --'

ÀÌ Äõ¸®´Â Àç¹ÌÀÖ°Ôµµ ¿ÏÀüÇÏ°Ô ±¸¼ºµÈ ÃÑ 2°³ÀÇ ±¸¹®À¸·Î SQL ¼­¹ö´Â ÀνÄÇÏ°Ô µÇ´Âµ¥¿ä. Áï,

SELECT name FROM Client WHERE ID='1001'
Shutdown --'

¿Í °°ÀÌ 2 ÁÙ·Î½á ¼öÇàµÇ´Â °Í°ú °°Àº °á°ú¸¦ ¸¸µé¾î³»°Ô µË´Ï´Ù. ±×¸®°í, ÀÌ °á°ú´Â ÂüȤÇϰԵµ µ¥ÀÌÅͺ£À̽º ¼­¹ö¸¦ Á×ÀÌ´Â °á°ú¸¦ ³º°Ô µÇÁÒ. Shutdown À̶ó´Â ¸í·ÉÀÌ ¹Ù·Î µ¥ÀÌÅͺ£À̽º ¼­ºñ½º¸¦ ¸ØÃß´Â ¸í·ÉÀ̴ϱî¿ä ^^(Âü°í : -- ´Â SQL ¼­¹ö¿¡¼­ ÁÖ¼®À» ÀǹÌÇϱ⿡ -- µÚÀÇ ±¸¹®µéÀº ¸ðµÎ ¹«½ÃµË´Ï´Ù)  È£°î!!! ÂüȤÇÏÁö ¾Ê³ª¿ä??

¸¸ÀÏ, "¿¡°Ô~~~ ÀÌ Á¤µµ °¡Áö±¸ ¹»...  ¼­¹ö¾ß Á×À¸¸é ´Ù½Ã »ì¸®¸é µÇÀݾÆ.. ¹»" À̶ó°í ¸»µµ ¾ÈµÇ°Ô ¹è¯ÀÌ ÁÁÀ¸½Ã´Ù¸é ´ÙÀ½°ú °°Àº ¸í·ÉÀº ¾î¶»½À´Ï±î??

exec xp_cmdshell 'format d:'

±×·¸½À´Ï´Ù. ÀÏÄÉ ÇÏ¸é ¼­¹öÀÇ D µå¶óÀ̺ê´Â Ȧ¶ó´ç Æ÷¸ËµÇ¾îÁ® ³¯¾Æ°©´Ï´Ù. ¿À¿À¿À~~~  ÀÌÁ¨ Á¶±Ý ¸ö¼­¸®°¡ ÃÄÁö½Ã³ª¿ä? ¤Ð¤Ð ; º¸¾ÈÀ̶õ °Ô ¸»ÀÔ´Ï´Ù. ¸ö¼­¸®°¡ ÃÄÁú ¶§ ÂëÀ̸é ÀÌ¹Ì ´ÊÀº °ÍÀÔ´Ï´Ù. ¤Ì¤Ì

ÀÚ. ÀÌ·¯ÇÑ ¹®Á¦°¡ »ý±â°Ô µÈ ÀÌÀ¯¸¦ Çϳª¾¿ »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù

¿ì¼±!! °¡Àå Å« ¹®Á¦´Â ShutdownÀ̳ª exec xp_cmdshell ¿Í °°Àº ²ûÂïÇÑ ¸í·ÉÀÌ ¾î¶»°Ô ½ÇÇàµÉ ¼ö ÀÖ´À³Ä´Â °Ì´Ï´Ù. ÀÌ·± ¸í·ÉÀº °ü¸®ÀÚ±ÞÀÇ °èÁ¤ÀÌ ¾Æ´Ï¸é ½ÇÇàÇÒ ¼ö ¾ø´Â ¸í·ÉÀε¥ ¸»ÀÔ´Ï´Ù. ±×°ÍÀº ¾ÆÁ÷µµ ¸¹Àº ºÐµéÀÌ µ¥ÀÌÅͺ£À̽º ¿¬°á ¹®ÀÚ¿­¿¡ User id·Î sa¸¦ »ç¿ëÇϰí Àֱ⿡ ±×·¸½À´Ï´Ù. ±×·¸°Ô µÇ¸é, µ¥ÀÌÅͺ£À̽º ¿¬°á ½Ã °èÁ¤ÀÌ ÃÊ ¿ïÆ®¶ó ½´ÆÛ »çÀÌ¾î °èÁ¤ÀÎ sa·Î ¼³Á¤µÇ±â¿¡, SQL ¼­¹ö¿¡ ´ëÇØ ¸ðµç ¸í·ÉÀ» »ç¿ëÇÒ ¼ö°¡ ÀÖ°Ô µË´Ï´Ù. À̰ÍÀº Á¤¸»·Î Å« ¹®Á¦°¡ ¾Æ´Ò ¼ö ¾ø´Â °ÍÀÌÁÒ!!!!!!!  ±×·¡¼­, ±âÁ¸ ¼¼¹Ì³ª³ª °­Áµ鿡¼­ "Á¦¹ß Á»!!! Á¦¹ß ÂÍ~~~ sa °èÁ¤À» »ç¿ëÇÏÁö ¸»¾ÆÁÖ¼¼¿ä.." ¶ó°íµé ¿ÜÃĿԴø °ÍÀ̿ɴϴÙ~~~~

À̰͸¸ Á¦ÇÑÀûÀÎ °èÁ¤À¸·Î ¹Ù²Ù¾îÁ൵...  º¸¾ÈÀûÀ¸·Î´Â »ó´çÈ÷ ¾ÈÀüÇØ Áý´Ï´Ù. Àû¾îµµ, ÇØÄ¿°¡ ½Ã½ºÅÛ±îÁö °¡ÇØÇÒ ¼ö´Â ¾ø°Ô µÉÅ״ϱî¿ä. ±×·¡¼­, ù¹øÂ° ÁöÄÑ¾ß ÇÏ´Â ±ÔÄ¢!

1. µ¥ÀÌÅͺ£À̽º ¿¬°á¿¡´Â °¡Àå Á¦ÇÑÀûÀÎ °èÁ¤À» »ç¿ëÇÑ´Ù!!!

ÀÔ´Ï´Ù. ¿¹¸¦ µéÀÚ¸é, ¿©·¯ºÐÀÌ ÇöÀç »ç¿ëÇÏ´Â µ¥ÀÌÅͺ£À̽º°¡ MyDB¶ó¸é, ƯÁ¤ °èÁ¤(¿¹¸¦ µé¸é, MyUser)¶ó´Â °èÁ¤À» ¸¸µé¾î¼­ ±× °èÁ¤¸¸ÀÌ MyDB¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï Á¦ÇÑÇÑ´Ù´Â °ÍÀÌÁÒ. ±×·¯¸é, ¾ÆÁÖ »©~~~µåÇÑ »ç¿ëÀÚ°¡ SQL ÀÎÁ§¼ÇÀ» »ç¿ëÇØ¼­ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù¿î½ÃŰ·Á ÇØµµ ±×°ÍÀº µ¿ÀÛÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌ °æ¿ì´Â, µ¥ÀÌÅͺ£À̽º ¿¬°á °èÁ¤ÀÌ µ¥ÀÌÅͺ£À̽º ¼­¹ö¸¦ ´Ù¿î½Ãų ±ÇÇÑÀÌ ¾ø±â¿¡ Shutdown ¸í·ÉÀÌ µ¿ÀÛÇÏÁö ¾ÊÀ»Å״ϱî¿ä~~~

ÇØ¼­, µ¥ÀÌÅͺ£À̽º ¿¬°á¿¡ °¡Àå Á¦ÇÑÀûÀÎ °èÁ¤À» »ç¿ëÇÏ´Â °ÍÀº ¹«¾ùº¸´Ù ¿ì¼±ÀûÀ¸·Î ÁöÄÑÁà¾ß ÇÒ ±ÔÄ¢ÀÔ´Ï´Ù. ±×·¸½À´Ï´Ù. ¹Ýµå½Ã~~~ ²À~~~~  ¾à¼ÓÇØ ÁÖ¼¼¿ä ^^

±×¸®°í, À̾îÁö´Â µÎ¹øÂ° ±ÔÄ¢Àº »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ» ÃÖ´ëÇÑ Á¦¾àÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­´Â ÀԷ°ªÀÌ »ç¿ëÀÚÀÇ ID ÀÌÁö¿ä? ´ëºÎºÐÀÇ ID´Â ¾î¶² Á¦¾à»çÇ×°°Àº °ÍÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, 4ÀÚ¸® ÀÌ»ó 10ÀÚ¸® ÀÌÇÏÀÇ ¼ýÀÚ·Î ±¸¼ºµÈ ¹®ÀÚ¿­ÀÌ¶ó´ø°¡ ÇÏ´Â µîÀÇ Á¦¾à¸»ÀÌÁÒ..

À§ÀÇ »ùÇÿ¡¼­´Â »ç¿ëÀÚ ¾ÆÀ̵𰡠¼ýÀÚ·Î µÈ 4ÀÚ¸®ÀÇ ¹®ÀÚ¿­·Î Á¦¾àµÇ¾îÁ® ÀÖ½À´Ï´Ù. °í·Î, À̰Ϳ¡ µû¶ó ¿©·¯ºÐÀº »ç¿ëÀÚÀÇ ÀԷ°ª¿¡ Validation(À¯È¿¼º °Ë»ç)¸¦ °É¾î¼­ ÀÔ·ÂÀ» ¾ÖÃʺÎÅÍ °­ÇÏ°Ô Á¦¾àÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Á¤»óÀûÀÎ »ç¿ëÀÚ¶ó¸é ÀÌ·¯ÇÑ Á¦¾à¿¡ ÀüÇô ºÒÆíÇÔÀ» ´À³¢Áö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ºÒ¸¸À» Åä·ÎÇÏ´Â »ç¿ëÀÚ´Â ¸ðµÎ »©µå~~~ÇÑ »ç¿ëÀÚ°ÚÁÒ~

ÇØ¼­, ±ÔÄ¢ 2

2. »ç¿ëÀÚÀÇ ÀԷ°ª¿¡ ´ëÇØ¼­´Â °¡´ÉÇÑ ÇÑ ÃÖ´ëÇÑ Á¦¾àÀ» °É°í, ¹Ýµå½Ã À¯È¿¼ºÀ» °Ë»çÇÑ´Ù!!

ÀÚ. ±× ´ÙÀ½¿¡´Â Äõ¸® ¹®ÀÚ¿­¿¡ ´ëÇÑ °ÍÀÔ´Ï´Ù. Á߿伺ÀÇ ¹«°Ô·Î µûÁö¸é ³²¹Ù Åõ°¡ µÉ Á¤µµ·Î Áß¿äÇÑ ±ÔÄ¢ÀÌÁö¿ä. ³²¹Ù ¿øÀº µÎ¸» ¾ÈÇØµµ "Á¦ÇÑÀûÀÎ °èÁ¤"À̱¸¿ä~

Äõ¸® ¹®ÀÚ¿­À» ÄÚµå »ó¿¡¼­ ¹®ÀÚ¿­·Î °áÇÕÇÏ¿© »ç¿ëÇÏ´Â °ÍÀº ¿©·¯¸ð·Î ´ë´ÜÈ÷ ¾È ÁÁÀº ¹æ¹ýÀÔ´Ï´Ù. º¸¾ÈÀûÀ¸·Îµµ, ¼º´ÉÀûÀ¸·Îµµ, È¿À²¼º Ãø¸é¿¡¼­µµ, È®À强 Ãø¸é¿¡¼­µµ, À¯Áöº¸¼ö¼º Ãø¸é¿¡¼­µµ, °¡µ¶¼º Ãø¸é¿¡¼­µµ  ¾È ÁÁÀº ¹æ¹ýÀÔ´Ï´Ù. ÇÑ ¸¶µð·Î!!!  Àý´ë·Î ±×·¸°Ô ÇÏ¸é ¾ÈµÇ´Â °ÍÀÌ "Äõ¸®¸¦ ÄÚµå »ó¿¡¼­ ¹®ÀÚ¿­·Î °áÇÕÇØ¼­ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù"

ÇÏÁö¸¸, »ç½Ç~~~ ±âÁ¸¿¡ ¸¹Àº ASP ¼­ÀûµéÀÌ Äõ¸®¸¦ ¹®ÀÚ¿­ °áÇÕÇØ¼­ »ç¿ëÇÏ´Â ¼Ò½º¸¦ Á¦°øÇß¾úÁÒ. ±×°ÍÀº ºñ´Ü Àúµµ ¸¶Âù°¡Áö¿´±¸¿ä(¤Ì¤Ì). ±×°ÍÀº.... º¸¾ÈÀûÀ¸·Îµµ ³»°øÀûÀ¸·Îµµ ºÎÁ·Çß´ø ½Ã±â¿¡ Ã¥ÀÌ ³ª¿Ô±â¿¡ ±×·¸½À´Ï´Ù. ÀÌ ºÎºÐÀº Á˼۽º·´°Ô »ý°¢ÇÕ´Ï´Ù¸¸, 5,6³â ÀüÀÇ ÀúÀÇ ³»°øÀº ÇöÀçÀÇ ÀÌ·¯ÇÑ º¸¾ÈÀûÀÎ ¹®Á¦±îÁö °í·ÁÇÒ ¼öÁØÀÌ ¸ø µÇ¾ú±â¿¡.... ¤Ð¤Ð  ±×·¯Çß´ø °ÍÀ̶ø´Ï´Ù.

¾ÆÂü!! ¸¸ÀÏ, ¿©·¯ºÐÁß¿¡ ASP ³»°øÀÌ »ó´çÇϽŠºÐµéÀ̶ó¸é.. ÀÌ¹Ì ÀÌ·¯ÇÑ ¹®Á¦¸¦ ¾Ë°í °è¼Ì´ø ºÐµéµµ ÀÖÀ» °ÍÀ̱¸¿ä. ±× ºÐµé Áß¿¡´Â Äõ¸® ¹®ÀÚ¿­ °áÇÕÀ» »ç¿ëÇϸ鼭µµ SQL ÀÎÁ§¼Ç °ø°ÝÀ» ÇÇÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ´Ù°í ³ªÁÈ÷ ¸»¾¸ÇϽô ºÐµéµµ ÀÖÀ» °ÍÀÔ´Ï´Ù.

±»ÀÌ ¼³¸íÀ» µå¸®ÀÚ¸é, ÇöÀçÀÇ SQL ÀÎÁ§¼ÇÀº »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ª Áß¿¡¼­ '(ÀÛÀº µû¿ÈÇ¥)·Î ÀÎÇØ ÀϾ´Â °ÍÀ̱⿡, »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ª Áß ÀÛÀº µû¿ÈÇ¥¸¦ ¹®ÀÚ ±×´ë·Î Äõ¸®¿¡ »ç¿ëÇϰԲû ¸¸µé¸é ÀÌ·¯ÇÑ ÀÎÁ§¼ÇÀ» ´ëÃæ ÇÇÇØ°¥ ¼ö ÀÖ´Ù´Â »ý°¢À» ÇÏ°í °è½Ç °ÍÀ̶ó´Â °ÅÁÒ...

¿¹¸¦ µé¸é, À§ÀÇ »ùÇÃÀ» ´ÙÀ½°ú °°ÀÌ ¹Ù²Ù¾î¼­ ¸»ÀÔ´Ï´Ù.

private void Button1_Click(object sender, System.EventArgs e)
{
    string id = Id.Text;
    string Status = "No";
    string sqlString="";

    SqlConnection con= new SqlConnection("server=(local);database=Test;uid=sa;pwd=**");

    try
    {
        con.Open();

        id = id.Replace("'", "''");

        sqlString = string.Format("SELECT name FROM Client WHERE ID='{0}'", id);
        Response.Write(sqlString + "<BR>");

        SqlCommand cmd = new SqlCommand(sqlString, con);
        if(cmd.ExecuteScalar() != null)
            Status = "YES";
    }
    // .... Áß·«....

SQL Äõ¸®¹®¿¡¼­ ÇϳªÀÇ ÀÛÀº µû¿ÈÇ¥¸¦ ÀνĽÃ۱â À§Çؼ­´Â ÀÛÀº µû¿ÈÇ¥¸¦ 2°³¿¬¼Ó ºÙ¿©¼­ »ç¿ëÇÏ¸é µË´Ï´Ù. ±×·¯¸é, »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ª Áß ÀÛÀº µû¿ÈÇ¥°¡ ¹®ÀÚ ±×´ë·Î ÀԷ°ªÀ¸·Î½á »ç¿ëµÉ °ÍÀ̱⿡, SQL ÀÎÁ§¼ÇÀ» ¾óÃß ¸·À» ¼ö ÀÖÀ» °Í ó·³ º¸Àδٴ °ÍÀÌÁö¿ä.

¼Ò½º¸¦ À§¿Í°°ÀÌ ¹Ù²Ù½Ã°í, ´Ù½Ã Çѹø ½ÇÇàÇØ º¸¼¼¿ä. ±×·¯¸é, À̹ø¿¡´Â ´ÙÀ½°ú °°ÀÌ Á¦´ë·Î ó¸®µÈ °á°ú°¡ ³ª¿À´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. Áï, [1001' ; Shutdown --']¶ó´Â ¾ÆÀ̵𸦠°¡Áö°í ÀÖ´Â »ç¿ëÀÚ°¡ ÀÖ´ÂÁö¸¦ °Ë»öÇÑ´Ù´Â °ÍÀÌÁö¿ä ^^;;; ±×·¸°Ô º¹ÀâÇÏ°í ¸»µµ ¾ÈµÇ´Â ¾ÆÀ̵𸦠°¡Áø »ç¿ëÀÚ´Â ´ç±Ù ¸»¹ä!! ¾ø°ÚÁÒ?? ±×·¡¼­, °á°ú´Â No¶ó°í ³ª¿À´Â °ÍÀ» º¸½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î ¾î´ÀÁ¤µµ SQL ÀÎÁ§¼ÇÀ» ¸·À» ¼öµµ ÀÖÀ» °ÍÀ̱ä ÇÕ´Ï´Ù. ÇÏÁö¸¸, ÀÌ ¹æ¹ýÀÌ ¿ÏÀüÇÑ ÇØ°áÃ¥ÀÌ µÇ¾îÁÙ ¼ö´Â ¾ø½À´Ï´Ù. ¼ÒÇÁÆ®¿þ¾î¶õ ¿Ïº®ÇÒ ¼ö ¾ø´Â ³ë¸©À̰í, °³¹ßÀÚ ¶ÇÇÑ ½Ç¼ö¸¦ ÇÏ°Ô ¸¶·ÃÀ̴ϱî¿ä. °Ô´Ù°¡, ÀÔ·Â ÀÎÀÚ°¡ ¹®ÀÚ°¡ ¾Æ´Ï°í ¼ýÀÚŸÀÔÀÎ °æ¿ì¿¡´Â ´ëºÎºÐ À§¿Í °°Àº ÀÛÀº µû¿Èǥ󸮸¦ ´ëºÎºÐ Àذí Áö³ªÄ¡°ï Çϱ⿡, ±×·¯ÇÑ °æ¿ì´Â °ø°ÝÀÇ ´ë»óÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.

¶ÇÇÑ, SQL Äõ¸®¸¦ ÆäÀÌÁö¿¡¼­ ¹®ÀÚ¿­ °áÇÕÇØ¼­ ¾²´Â ÀÌ·¯ÇÑ ¹æ¹ýÀº BackDoor¿Í °°ÀÌ ASP ¼Ò½º¸¦ º¼ ¼ö ÀÖ´Â ¹ö±×°°Àº °ÍÀÌ ÀÖÀ» °æ¿ì¿¡(¿¹Àü¿¡ Á¾Á¾ ÀÌ·± ¹®Á¦°¡ ÅÍÁö°ï Çß¾úÁÒ?), µ¥ÀÌÅͺ£À̽º °ü·Ã ¸í·ÉµéÀÌ Àû³ª¶óÇÏ°Ô µå·¯³­´Ù´Â ºÎ´ãµµ ÀÖ½À´Ï´Ù. ¤Ì¤Ì

±×·¸´Ù¸é, ¾î¼¶ó´Â °ÍÀ̳ı¸¿ä????  ±×·¸½À´Ï´Ù. ÀÌÁ¦ ±× À̾߱⸦ µå·Á¾ß ÇÒ °Í °°³×¿ä.

ÇØ¼­, Á¦°¡ °¡Àå °­ÃßÇÏ´Â °ÍÀº(±×¸®°í, MS ¹®¼­¿¡¼­µµ ±ÇÀåÇÏ´Â °ÍÀº) À§¿¡¼­ ³ª¿­ÇÑ ¸ðµç Ãø¸é¿¡¼­ È¿°úÁÁ°í, ¿¤·¹°­½ºÇϰí, ¿Ï´ÙÇ®ÇÑ ÀúÀå ÇÁ·Î½ÃÀú(Stored Procedure)¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í, ¸¸ÀÏ, ÀúÀå ÇÁ·Î½ÃÀú¸¦ µµÀúÈ÷ »ç¿ëÇÒ¸¸ÇÑ ÀÔÀå ¹× È¯°æÀÌ ¸ø µÈ´Ù ÇÏ½Ã¸é ±×¶§´Â Named ¸Å°³º¯¼ö ¹æ¹ýÀÌ¶óµµ »ç¿ëÇϽöó°í ±ÇÇØµå¸®°í ½Í½À´Ï´Ù.

Áï, SQL Äõ¸®¸¦ À§ÇØ »ç¿ëµÇ´Â ÀÎÀڵ鿡 ´ëÇØ¼­ °­·ÂÇÑ Çü½ÄÀÇ µ¥ÀÌÅ͸¦ »ç¿ëÇ϶ó´Â °ÍÀÔ´Ï´Ù. ÀúÀå ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ°Ô µÇ¸é, °¢°¢ÀÇ ÀÔ·Â ÀÎÀÚ¿¡ ´ëÇØ ¸íÈ®ÇÏ°Ô Çü½ÄÀ» ÁöÁ¤ÇØ ÁÖ¾î¾ß¸¸ ÇÏÁÒ? ¿¹¸¦ µé¸é, Int, Varchar µîµîÀ¸·Î ¸»ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÁöÁ¤ÀÌ °³¹ßÀÚ¿¡°Ô´Â ¾µµ¥¾ø´Â Ãß°¡ÀÛ¾÷ÀÎ °Íó·³ ´À²¸Áú·±Áöµµ ¸ð¸£°ÚÁö¸¸ »ç½ÇÀº ÀÌ ÀÛ¾÷ÀÌ ¹Ù·Î º¸¾ÈÀûÀ¸·Îµµ, ¼º´ÉÀûÀ¸·Îµµ ´ë´ÜÈ÷ Áß¿äÇÑ ÀÛ¾÷ÀÎ °ÍÀÔ´Ï´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ª¿¡ ´ëÇØ Çü½Ä(Type)ÀûÀ¸·Îµµ ´õ¿í Ä¡¹ÐÇÑ °Ë»ç¸¦ ¼öÇàÇÏ°Ô µÇ´Â °ÍÀ̴ϱî¿ä.

°í·Î, ¾ÕÀ¸·Î ÀúÀå ÇÁ·Î½ÃÀúÀÇ ÀÎÀÚ Çü½ÄÀ» ÀÛ¼ºÇÒ ¶§´Â

"³ª´Â Áö±Ý ´ë´ÜÈ÷ Áß¿äÇÑ ÀÛ¾÷ ÁßÀÌ´Ï °Çµå¸®Áö ¸¶¼À. ³ª °Çµå¸®¸é ¼­¹ö Ã¥ÀÓ ¸ø Áü"

À̶ó°í ÀÚºÎÇϸ鼭 ÀÛ¾÷ÇØÁּŵµ ÁÁ°Ú´Ü ¸»¾¸ÀÔ´Ï´Ù. ¹°·Ð, ÁøÂ¥ ±×·¸°Ô ¿ÜÄ¥ °æ¿ì µÚµû¶ó¿À´Â °á°ú¿¡ ´ëÇØ¼­´Â Å¿À´Â ¾Æ¹«·± Ã¥ÀÓÀÌ ¾ø½À´Ï´Ù. (¾î´À³¯ Á¡½ÉÀ» È¥ÀÚ ¸Ô°í ÀÖ´Â ÀÚ½ÅÀ» ¹ß°ßÇÏ°Ô µÉÁöµµ... -_-;;;) °³ÀÎÂ÷¶ó´Â °Ô ÀÖÀ¸´Ï±ñ ¸»ÀÔ´Ï´Ù.~~ À½ÇÖÇÖ

ÇØ¼­, 3¹øÂ° ±ÔÄ¢Àº ´ÙÀ½°ú °°½À´Ï´Ù.

3. ÀԷ°ª¿¡ ´ëÇØ °­·ÂÇÑ Çü½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â ÀúÀå ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÑ´Ù.

±×·¸½À´Ï´Ù. ±×·¸´Ù¸é, ÀÌ·¯ÇÑ ±ÔÄ¢(?)À» ¼Ò½º¿¡ ¹Ý¿µÇÑ °á°ú¸¦ Çѹø º¼±î¿ä?

private void Button1_Click(object sender, System.EventArgs e)
{
    string id = Id.Text;
    string Status = "No";
    string sqlString="";

    SqlConnection con = new SqlConnection("server=(local);database=Test; uid=TestUser; pwd=xoduddlek+@#$");

    try
    {
        con.Open();

        SqlCommand cmd = new SqlCommand("proc_GetName", con);
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.Add("@id", SqlDbType.VarChar, 10);
        cmd.Parameters["@id"].Value = id;

        if(cmd.ExecuteScalar() != null)
            Status = "YES";
    }
    catch(SqlException ex)
    {
        Status = "Failed\n";
        foreach(SqlError er in ex.Errors)
            Status += er.Message + "\n";
        }
    catch(Exception exp)
    {
        Status = exp.ToString();
    }
    finally
    {
        con.Close();
        con = null;
    }

    Label1.Text = Status;
> }

¼Ò½º¿¡¼­´Â ±âÁ¸ÀÇ Äõ¸® ¹®ÀÚ¿­ ´ë½Å proc_GetName¶ó´Â ÇÁ·Î½ÃÀú¸¦ ¸¸µé¾î¼­ »ç¿ëÇϰí Àִµ¥¿ä. ÀÌ ÇÁ·Î½ÃÀúÀÇ ³»¿ëÀº ±âÁ¸ÀÇ Äõ¸®¹®ÀÚ¿­ÀÇ °Í°ú µ¿ÀÏÇÕ´Ï´Ù. ±»ÀÌ ¿¹¸¦ µéÀÚ¸é, ´ÙÀ½°ú °°´Ù´Â °ÍÀÌÁö¿ä ^^

CREATE PROC proc_GetName
    @id     varchar(10)
AS
    SELECT [name] FROM Client WHERE ID=@id

±×¸®°í, ¶ÇÇÑ À§ÀÇ »ùÇÃÀº µ¥ÀÌÅͺ£À̽º ¿¬°á ¹®ÀÚ¿­À» À§Çؼ­ º°µµÀÇ TestUser¶ó´Â °èÁ¤À» SQL ¼­¹ö¿¡ Çϳª ¸¸µé¾î µÎ°í, ±× °èÁ¤À» »ç¿ëÇϰí ÀÖ½À´Ï´Ù. °¡Àå Á¦ÇÑÀûÀÎ °èÁ¤À» »ç¿ëÇ϶ó´Â ù¹øÂ° ±ÔÄ¢À» µû¸£°í ÀÖ´Â °ÍÀÌÁö¿ä. ÀÌ·¯ÇÑ °èÁ¤À» ¸¸µå´Â °ÍÀº SQL ¼­¹ö ¿£ÅÍÇÁ¶óÀÌÁî ¸Å´ÏÀú¿¡¼­ ½±°Ô ÇÏ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù¸¸, [Äõ¸® ºÐ¼®±â]¿¡¼­µµ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î °èÁ¤À» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.

USE TEST
GO

-- TEST µ¥ÀÌÅͺ£À̽º¿¡ TestUser¶ó´Â À̸§ÀÇ °èÁ¤À» ¸¸µç´Ù
EXEC sp_addlogin 'TestUser', 'xoduddlek+@#$', 'TEST'

-- TestUser °èÁ¤¿¡°Ô TEST µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ access¸¦ ºÎ¿©ÇÑ´Ù
EXEC sp_grantdbaccess 'TestUser'

-- TestUser °èÁ¤ÀÌ proc_GetName ÀúÀå ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù
GRANT EXECUTE ON proc_GetName TO TestUser

±×¸®°í ¶Ç ÇѰ¡Áö Áß¿äÇÑ ºÎºÐÀÌ Àִµ¥¿ä. »ç½Ç, À§¿¡¼­ º¸½Ã¸é µ¥ÀÌÅͺ£À̽º ¿¬°á ¹®ÀÚ¿­À» ¼Ò½º Äڵ忡¼­ Á÷Á¢ ±âÀÔÇØ¼­ ¾²°í ÀÖÁö ¾Ê½À´Ï±î? »ç½Ç, À̰ÍÀº ±×´ÙÁö ¹Ù¶÷Á÷ÇÑ ¹æ¹ýÀÌ ¾Æ´Õ´Ï´Ù. À¯Áö º¸¼ö¼º Ãø¸é¿¡¼­µµ ÁÁÁö ¾ÊÀ» »Ó¸¸ ¾Æ´Ï¶ó º¸¾ÈÀûÀ¸·Îµµ ±×·¸°Ô ¼Ò½º Äڵ忡 Á÷Á¢ ÄÚµùÇÏ¿© ¾²´Â °ÍÀº °áÄÚ ¹Ù¶÷Á÷ÇÏÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.

ÇØ¼­, ´õ ³ªÀº ¹æ¹ýÀ¸·Î´Â µ¥ÀÌÅͺ£À̽º ¿¬°á¹®ÀÚ¿­À» ·ÎÄà ÆÄÀÏ ¾È¿¡ ÀúÀå½ÃÄÑ µÎ°í, ÄÚµå ·¹º§¿¡¼­ ±× ¹®ÀÚ¿­À» µ¿ÀûÀ¸·Î Àоî¿Í¼­ »ç¿ëÇÑ´Ù´ø°¡, ¾Æ´Ï¸é, ·¹Áö½ºÆ®¸®¿¡ ±× ¿¬°á ¹®ÀÚ¿­À» ÀúÀåÇØµÎ°í ±×°ÍÀ» µ¿ÀûÀ¸·Î Àоî¿Í¼­ »ç¿ëÇÑ´Ù´ø°¡ ÇÏ´Â ¹æ¹ýÀÌ ÃßõµË´Ï´Ù. ºñ·Ï, ÇöÀçÀÇ »ùÇÿ¡¼­´Â ±× ºÎºÐÀÌ ºüÁ®ÀÖ´Ù ÇÏ´õ¶óµµ ¸»ÀÔ´Ï´Ù. !!!!!

ÀÚ. Áß¿äÇÑ ³»¿ëÀº ÀÌÁ¦ ¾î´À Á¤µµ Á¤¸®°¡ µÈ °Í °°³×¿ä

±×·³ Çѹø °¡º±°Ô Á¤¸®¸¦ ÇØ º¼±î¿ä? ´ÙÀ½Àº ¾ÈÀüÇÑ µ¥ÀÌÅÍ Á¢±ÙÀ» À§ÇÑ ÀÏÁ¾ÀÇ Áöħ(?)À» ¾à°£ Á¤¸®ÇØ º» °ÍÀ̶ø´Ï´Ù

-»ç¿ëÀÚÀÇ ÀÔ·ÂÀº °áÄÚ ½Å·ÚÇÏÁö ¾Ê´Â´Ù
-Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© Àû¹ýÇÑ ÀÔ·Â ¿Ü¿¡´Â °ÅºÎÇÑ´Ù.
-Äõ¸® ºôµå ½Ã, ¹®ÀÚ¿­ ¿¬°áÀÌ ¾Æ´Ñ ¸Å°³º¯¼ö Äõ¸®¸¦ »ç¿ëÇÑ´Ù. Áï, ÀúÀå ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÑ´Ù
-Sysadmin °èÁ¤ÀÌ ¾Æ´Ñ ÃÖ¼Ò ±ÇÇÑ °èÁ¤À¸·Î µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÏ°Ô ÇÑ´Ù
-µ¥ÀÌÅͺ£À̽º ¿¬°á ¹®ÀÚ¿­À» °¡±ÞÀû config ÆÄÀÏ¿¡ ÀúÀåÇÏÁö ¾Ê´Â´Ù(¾Ïȣȭ ±ÇÀå)
-°ø°ÝÀÚ¿¡°Ô ³Ê¹« ¸¹Àº ¿À·ù Á¤º¸¸¦ ³ëÃâÇÏÁö ¾Ê´Â´Ù

¸¹ÀÌµé ¾Æ½Ã´Â ³»¿ëÀ̰ÚÁö¸¸, ¹Ìó ¸ô¶ú´ø ºÐµé¿¡°Ô´Â µµ¿òÀÌ µÇ´Â °­Á¿´±â¸¦ ¹Ù¶ø´Ï´Ù. ±×·³, Àú´Â ´ÙÀ½ ÁÖ¿¡ ¶Ç »õ·Î¿î °­Á¸¦ µé°í ã¾Æ¿Àµµ·Ï ÇϰڽÀ´Ï´Ù. ³¯¾¾°¡ ³Ñ ´õ¿îµ¥ ¸ðµÎµé °Ç°­ÇϰÔ... ÁÁÀº ÇÏ·ç ÇÏ·ç º¸³»¼¼¿ä.

°¨»çÇÕ´Ï´Ù. ^^

 

°­Á ¸ñ·ÏÀ¸·Î..