|
SQL Injection¿¡ ´ëÇؼ Á¶±Ý¸¸ ¼³¸íÇص帱²²¿ä.
À¥ ¼¹ö¿Í DB¼¹ö°¡ ¿¬°áµÇ¾îÀÖ°í, ·Î±×ÀÎ Á¤º¸°¡ DB¼¹ö¿¡ ÀúÀåµÇ¾îÀÖ´Â »óȲÀÔ´Ï´Ù.
¿ì¸®´Â ·Î±×Àνà ¾ÆÀ̵ð¿Í ºñ¹Ð¹øÈ£¸¦ ³ÖÁÒ?
ID = loveyou
PASSWORD = 12341234
À¥ ¾îÇø®ÄÉÀ̼ÇÀº DB¼¹ö¿¡ SQLÄõ¸®¸¦ ³¯·Á ½ÇÁ¦ ·Î±×ÀÎ Á¤º¸°¡ ÀÖ´ÂÁö È®ÀÎÇÕ´Ï´Ù.
À̶§ º¸³»´Â SQLÄõ¸®´Â º¸Åë ´ÙÀ½°ú °°½À´Ï´Ù.
SELECT * from USER_DB WHERE ID = 'loveyou' and PASSWORD = '12341234'
ÇÏÁö¸¸ ´ÙÀ½°ú °°ÀÌ ·Î±×Àνà ¾ÆÀ̵𿡠Ư¼ö¹®ÀÚÀÎ ' (ÀÛÀºµû¿ÈÇ¥)¸¦ ³Ö°Ô µÇ¸é SQL Äõ¸®´Â ´ÙÀ½°ú °°ÀÌ º¯ÇÕ´Ï´Ù.
ID = love'
PASSWORD = 12341234
SELECT * from USER_DB WHERE ID = 'love'' and PASSWORD = '12341234'
»¡°£»öÀ¸·Î µÈ ºÎºÐÀ» ÀÚ¼¼È÷ º¸¼¼¿ä. ID = 'love' ' and
ÀÛÀº µû¿ÈÇ¥°¡ Á¦´ë·Î ¾È´ÝÇûÁÒ? °á±¹ SQL Äõ¸®°¡ Á¦´ë·Î ¸¸µé¾îÁöÁö ¸øÇÏ°í DB¼¹ö¿¡ ¿äûÀ» ÇÏ°Ô µË´Ï´Ù. DB¼¹ö´Â ´ç¿¬È÷ À߸øµÈ SQLÄõ¸®¸¦ ¹Þ°í ¿¡·¯ ¸Þ½ÃÁö¸¦ º¸³»Áִµ¥ ±× ¿¡·¯ ¸Þ½ÃÁö°¡ È£ÁØ´Ô²²¼ ¿Ã¸®½Å ±× ¿¡·¯ ¸Þ½ÃÁö ÀÔ´Ï´Ù.
>-------------------------------------------------------------
>Microsoft OLE DB Provider for SQL Server error '80040e14'
>'nrcetc'' ¹®ÀÚ¿ ¾Õ¿¡ ´ÝÈ÷Áö ¾ÊÀº ÀÎ¿ë ºÎÈ£°¡ ÀÖ½À´Ï´Ù.
>/nrcbd/pds/detail.asp, line 119
>--------------------------------------------------------------
>
±×·±µ¥ ÀÌ·¸°Ô ¿¡·¯¸Þ½ÃÁö¸¸ ³ª¿Â´Ù°í Çؼ ¹º°¡ ÇÒ ¼ö ÀÖ´Â°Ô ¾Æ´Õ´Ï´Ù. Ư¼ö¹®ÀÚ¸¦ ³Ö¾î SQL Äõ¸®¸¦ Á¶ÀÛÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ¿ì¼± ¾ÆÀ̵ð Æнº¿öµå¸¦ ¾Æ·¡Ã³·³ ÀÔ·ÂÇÕ´Ï´Ù.
ID = admin' --
PASSWORD = 12341234
SELECT * from USER_DB WHERE ID = 'admin' --' and PASSWORD = '12341234'
ÀÚ À§ÀÇ SQL Äõ¸®¸¦ Àß »ìÆ캸¸é -- ¶ó´Â Ç¥½Ã°¡ º¸ÀÌÁÒ? SQL Äõ¸®¿¡¼ -- Ç¥½Ã´Â ÁÖ¼® 󸮸¦ ÀǹÌÇÕ´Ï´Ù. c¾ð¾î¿¡ º¸½Ã¸é /* ¾î¼±¸Àú¼±¸ */ ÀÌ·± Çü½ÄÀ¸·Î ÁÖ¼® ó¸®ÇÏ´Â °É ¸¹ÀÌ ºÃÁÒ?
ÀÚ!! ÀÌÁ¦ ÁÖ¼®Ã³¸®(--) µÚÂÊÀ» ¸ðµÎ ¾ø¾Ö¹ö¸®¸é ´ÙÀ½°ú °°Àº SQL Äõ¸®¹®ÀÌ µË´Ï´Ù.
SELECT * from USER_DB WHERE ID = 'admin'
À§ÀÇ SQL Äõ¸®¸¦ º¸½Ã¸é ¾Ë°ÚÁö¸¸ USER_DB¶ó´Â Å×ÀÌºí¿¡¼ ID°¡ admin ÀÎ °ÍÀ» º¸³»´Þ¶ó°í ÇÏ´Â ³»¿ëÀÔ´Ï´Ù. °á±¹ ¿ì¸®´Â admin À̶ó´Â ¾ÆÀ̵ðÀÇ Æнº¿öµå¸¦ ¸ô¶óµµ admin ·Î±×ÀÎ Á¤º¸¸¦ ¹Þ¾Æ ¿Ã ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ°í, ·Î±×ÀÎÀÌ ¼º°øµÇ´Â °ÍÀÔ´Ï´Ù.
^^; ÀÌÇØ°¡ µÇ¼Ì´ÂÁö ¸ð¸£°Ú¾î¿ä.
SQL Injectionµµ ²Ï Àç¹ÌÀÖ´Â ºÎºÐÀÔ´Ï´Ù.
|