ÇØÄ¿Áî´º½º / ÇØÄ¿´ëÇÐ

Donation bitcoin(±âºÎ¿ë ºñÆ®ÄÚÀÎ ÁÖ¼Ò)

¡¡
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
¡¡
±âºÎÇϽŠºñÆ®ÄÚÀÎÀº "º¸¾È Ãë¾à °èÃþ"À» À§ÇØ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
¡¡
¡¡

Donation bitcoin(±âºÎ¿ë ºñÆ®ÄÚÀÎ ÁÖ¼Ò)

¡¡
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
¡¡
±âºÎÇϽŠºñÆ®ÄÚÀÎÀº "º¸¾È Ãë¾à °èÃþ"À» À§ÇØ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
¡¡

°øÁö

¡¡

1. MS ¿§Áö ºê¶ó¿ìÀú¿¡¼­ÀÇ °æ°íâÀº 'À©µµ¿ì µðÆæ´õ'¸¦ ²ô½Ã¸é µË´Ï´Ù.

             'À©µµ¿ì µðÆæ´õ ²ô±â'

2. Å©·Ò ºê¶ó¿ìÀú·Î Á¢¼Ó½Ã ³ª¿À´Â ¾Ç¼ºÄÚµå °æ°íâÀº ±¸±Û Å©·ÒÀÇ ¿¡·¯, Áï ¿ÀŽ(ŽÁö ¿À·ù)À̹ǷΠ¹«½ÃÇÏ½Ã¸é µË´Ï´Ù.

3. ÀÌ »çÀÌÆ®´Â ¾ÈÀüÇÏ¸ç ±ú²ýÇÏ´Ù´Â °ÍÀ» ¾Ë·Á µå¸³´Ï´Ù.

4. ¹«°íÇÑ »çÀÌÆ®µé¿¡ ´ëÇÑ °ø·æ ±â¾÷ ºê¶ó¿ìÀúµéÀÇ ¹«Â÷º°ÀûÀÎ 'ŽÁö ¿À·ù ȾÆ÷'°¡ »ç¿ëÀÚµéÀÇ Á¤º¸ °øÀ¯ÀÇ ÀÚÀ¯¸¦ ħÇØÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ¿¡ ´ëÀÀÇÏ¿© ÀÌ ±â¾÷µéÀ» »ó´ë·Î ¼Ò¼ÛÀ» ÁغñÇÏ°í ÀÖ½À´Ï´Ù.

¡¡

Ãâó: Á¶ÅÂÇü
À帣: À¥ÇØÅ·
SQL »ðÀÔ°ø°Ý°ú ¹æ¾î  
Ãë¾àÁ¡À» ÀÌ¿ëÇÑ °ø°ÝÀÌ ½ÄÀ» ÁÙ ¸ð¸£°í ÀÖ´Ù. °ø°ÝÀÇ ¸ñÀûÀº °ÔÀÓÁ¤º¸ Å»Ãë¿Í ±Ã±ØÀûÀ¸·Î´Â À̸¦ ÀÌ¿ëÇÑ °ÔÀÓ¾ÆÀÌÅÛ °Å·¡·Î µ·À» ¹ú±â À§ÇÑ °ÍÀÌ´Ù.


Á¤º¸Åë½ÅºÎ¿Í KISA´Â ÀÌ¿¡ ´ëÇÑ ´ëÃ¥À¸·Î Áß±¹¿¡¼­ µé¾î¿À´Â IPµéÀ» Â÷´ÜÇÏ°í ÀÖ°í ÀÚ±Ý ¿©·ÂÀÌ ¾ø´Â Áß¼Ò±â¾÷ÀÇ À¥»çÀÌÆ® °ü¸®ÀÚ¿¡°Ô °ø°³ À¥¹æÈ­º® ±¸ÃàÀ» ±ÇÀ¯ÇÏ°í ÀÖÀ¸¸ç °³ÀÎ PCÀÇ º¸¾ÈÆÐÄ¡À²À» ³ôÀ̱â À§ÇØ °¢Á¾ Ä·ÆÐÀÎÀ» ¹úÀÌ°í ÀÖ´Ù.


KISA¿¡¼­ ¿î¿µÇÏ´Â ¡®º¸È£³ª¶ó¡¯¿¡¼­´Â ´ë±¹¹Î ¼­ºñ½º·Î ¿ø°Ý PCÁ¡°ËÀ» ÇØÁÖ°í ÀÖ°í ´ë±â¾÷À» Áß½ÉÀ¸·Î º¸¾È¼Ö·ç¼Ç µµÀÔ°ú ½Ã½ºÅÛ ±¸ÃàÀÌ ÇÑâÀÌ´Ù. ÇÏÁö¸¸ ÀÌ·¯ÇÑ ³ë·Â¿¡µµ ºÒ±¸ÇÏ°í ÇØÅ· °üÁ¦ ¼­ºñ½º¸¦ ½Ç½ÃÇÏ°í ÀÖ´Â ¾÷ü¿¡¼­´Â ÇÏ·ç¿¡µµ 2¹é~3¹é°ÇÀÇ ÇØÅ·ÀÌ ÀÌ·ç¾îÁö°í ÀÖ°í À̸¦ ÅëÇÑ ¾Ç¼ºÄÚµå À¯Æ÷°¡ Áö¼ÓÀûÀ¸·Î ÀÌ·ç¾îÁö°í ÀÖ´Ù°í ÁöÀûÇÏ°í ÀÖ´Ù.


KISA °ü°èÀÚ´Â ¡°Áö³­ÇØ Á¤ºÎ±â°ü »çÀÌÆ®¿Í ÁÖ¿ä À¥»çÀÌÆ®¸¦ ´ë»óÀ¸·Î ´ë´ëÀûÀÎ À¥»çÀÌÆ® ¸ðÀÇ ÇØÅ·À» ½Ç½ÃÇÑ °á°ú ´ëºÎºÐÀÇ »çÀÌÆ®µéÀÌ SQL Injection Ãë¾àÁ¡ °ø°Ý¿¡ ¸Æ¾øÀÌ ¶Õ·È´Ù¡±¸ç ¡°SQL Injection Ãë¾àÁ¡ °ø°Ý¿¡ ´ëÇÑ ´ëºñÃ¥À» °³¹ßÀÚµéÀÌ ±âº»ÀûÀ¸·Î ¾Ë°í ÀÖ¾î¾ßÇÑ´Ù¡±°í °­Á¶Çß´Ù.


<º¸¾È´º½º>´Â ¾ó¸¶ÀüºÎÅÍ À¥°³¹ßÀÚµéÀÌ ±â¼ú,Á¤½ÅÀûÀ¸·Î º¸¾È°­È­¿¡ ´õ¿í ³ë·ÂÇØ¾ß ÇÑ´Ù´Â ±â»ç¿Í °ü·ÃÁ¤º¸¸¦ Á¦°øÇØ ¿À°í ÀÖ´Ù. À̹ø¿¡´Â SQL Injection Ãë¾àÁ¡¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. ÀÚ·á Á¦°øÀº KISA ÇØÅ·´ëÀÀÆÀÀÌ´Ù.  


<±âȹ3> ¾ÇÀÇÀûÀÎ ¸í·É¾î ÁÖÀÔ °ø°Ý(SQL Injection)


ÇöÀç ´ëºÎºÐÀÇ À¥ »çÀÌÆ®µéÀº »ç¿ëÀڷκÎÅÍ ÀԷ¹ÞÀº °ªÀ» ÀÌ¿ëÇØ µ¥ÀÌÅÍ º£À̽º Á¢±ÙÀ» À§ÇÑ SQL Query¸¦ ¸¸µé°í ÀÖ´Ù. »ç¿ëÀÚ ·Î±×ÀÎ °úÁ¤À» ¿¹·Î µé¸é, »ç¿ëÀÚ°¡ À¯È¿ÇÑ °èÁ¤°ú Æнº¿öµå¸¦ ÀÔ·ÂÇß´ÂÁö È®ÀÎÇϱâ À§ÇØ »ç¿ëÀÚ °èÁ¤°ú Æнº¿öµå¿¡ °üÇÑ SQL Query¹®À» ¸¸µç´Ù. À̶§ SQL injection ±â¹ýÀ» ÅëÇؼ­ Á¤»óÀûÀÎ SQL query¸¦ º¯Á¶ÇÒ ¼ö ÀÖµµ·Ï Á¶ÀÛµÈ »ç¿ëÀÚ À̸§°ú Æнº¿öµå¸¦ º¸³» Á¤»óÀûÀÎ µ¿ÀÛÀ» ¹æÇØÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ºñÁ¤»óÀûÀÎ SQL Query¸¦ ÀÌ¿ëÇØ ´ÙÀ½°ú °°Àº °ø°ÝÀÌ °¡´ÉÇÏ´Ù.


-»ç¿ëÀÚ ÀÎÁõÀ» ºñÁ¤»óÀûÀ¸·Î Åë°úÇÒ ¼ö ÀÖ´Ù.
-µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåµÈ µ¥ÀÌÅ͸¦ ÀÓÀÇ·Î ¿­¶÷ÇÒ ¼ö ÀÖ´Ù.
-µ¥ÀÌÅͺ£À̽ºÀÇ ½Ã½ºÅÛ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ½Ã½ºÅÛ Á¶ÀÛÀÌ °¡´ÉÇÏ´Ù.


ÀÌ·¯ÇÑ Ãë¾àÁ¡À» ¡®SQL Injection Ãë¾àÁ¡¡¯À̶ó°í Çϸç, »ç¿ëÀÚ°¡ µ¥ÀÌÅÍ ÀÔ·ÂÀÌ °¡´ÉÇÑ ¼ö¸¹Àº À¥ ÆäÀÌÁö »ó¿¡ ÀÌ·¯ÇÑ Ãë¾àÁ¡ÀÌ Á¸ÀçÇÒ ¼ö ÀÖ´Ù.


¡áÀ§Çù »ç·Ê


(1) »ç¿ëÀÚ ÀÎÁõ °ø°Ý


¾Æ·¡ÀÇ ±×¸²°ú °°ÀÌ ÀÎÁõÀ» ó¸®ÇÏ´Â ¸ðµâÀÌ ÀÔ·Â °ª¿¡ ´ëÇØ ÀûÀýÈ÷ °Ë»çÇÏÁö ¾Ê¾ÒÀ» ¶§ °ø°ÝÀÚ´Â ºñÁ¤»óÀûÀÎ SQL Query¸¦ »ðÀÔ ÇÒ ¼ö ÀÖ°í À̸¦ ÀÌ¿ëÇØ »ç¿ëÁßÀÎ µ¥ÀÌÅͺ£À̽º¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Ù.





´ÙÀ½Àº SQL ±¸¹®À» ÀÌ¿ëÇÏ¿© ÀÎÁõÀ» ó¸®ÇÏ´Â ÀϹÝÀûÀÎ À¥ ÆäÀÌÁö ±¸Á¶¸¦ ³ªÅ¸³½´Ù.
$row = mysql_query (" SELECT ½ÅûÀθí, Á¢¼ö¹øÈ£ from USER_TABLE where ½ÅûÀθí='ù¹ø°ÀԷ°ª' and Á¢¼ö¹øÈ£='µÎ¹ø°ÀԷ°ª' ");
if ( $row == 1 )
// ÀÎÁõ ¼º°ø ·çƾ
else  
 // ÀÎÁõ ½ÇÆÐ ·çƾ  



ÀÌ ½ºÅ©¸³Æ®¿¡ °ø°ÝÀÚ°¡ test¶ó´Â ½ÅûÀθíÀ» ÀÔ·ÂÇÏ°í ÀÎÅͳÝÁ¢¼ö¹øÈ£ ´ë½Å A' or 'A'='A À̶õ °ªÀ» ÀÔ·ÂÇÏ¸é ¾Æ·¡¿Í °°Àº SQL Query°¡ ¿Ï¼ºµÈ´Ù.


SELECT ½ÅûÀθí,Á¢¼ö¹øÈ£ FROM user_table WHERE ½ÅûÀθí=¡®test?? AND Á¢¼ö¹øÈ£=??A' OR 'A'='A'



ÀÌ °æ¿ì ±¸¹®ÀÇ WHERE ÀýÀº ??Âü AND °ÅÁþ OR Âü??ÀÇ WHERE ÀýÀÌ »ý¼ºµÇ¸ç ¹«Á¶°Ç ÂüÀÌ µÇ¾î SQL ±¸¹®Àº ¿Ã¹Ù¸¥ ÀÔ·Â °ªÀ¸·Î ó¸®ÇÏ°Ô µÇ¸ç °ø°ÝÀÚ´Â À¥ ÀÎÁõ ÆäÀÌÁö¸¦ ½±°Ô Åë°úÇÒ ¼ö ÀÖ°Ô µÈ´Ù.


(2) MS-SQL»ó¿¡¼­ÀÇ ½Ã½ºÅÛ ¸í·É¾î ½ÇÇà


MS-SQL µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Â °æ¿ì¸¦ ¿¹¸¦ µé¾î º¸ÀÚ. ¸¸¾à µ¥ÀÌÅͺ£À̽º Á¢±Ù ±ÇÇÑÀÌ ½Ã½ºÅÛ ±ÇÇÑÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é MS-SQL¿¡¼­ ±âº»ÀûÀ¸·Î Á¦°øÇÏ°í ÀÖ´Â xp_cmdshellÀ̶ó´Â Stored Procedure¸¦ ÀÌ¿ëÇÏ¿©  ½Ã½ºÅÛ ¸í·É¾î¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.


¿¹·Î À§ÀÇ ÀÎÁõ ÆäÀÌÁö¿¡¼­ ½ÅûÀÎ¸í¿¡ test, Á¢¼ö¹øÈ£¿¡ ??; exec master..xp_cmdshell ??ping 10.10.1.2'-- °ªÀ» ÀÔ·ÂÇß´Ù°í °¡Á¤Çϸé SQL Query´Â ´ÙÀ½°ú °°ÀÌ ¿Ï¼ºµÉ °ÍÀÌ´Ù.


SELECT ½ÅûÀθí, Á¢¼ö¹øÈ£ from USER_TABLE where ½ÅûÀθí='test' and Á¢¼ö¹øÈ£='; exec master..xp_cmdshell 'ping 10.10.1.2'--



ÀÌ SQL Query´Â SELECT Query¿Í xp_cmdshell Query¸¦  SQL Query°¡ ¼øÂ÷ÀûÀ¸·Î ½ÇÇàµÇ°Ô µÇ¸ç, ¸¶Áö¸·ÀÇ -- ¹®ÀÚ´Â ÀÌÈÄÀÇ ¸ðµç ¹®ÀÚ¿­À» ÁÖ¼® ó¸®ÇÏ¿© ¹®ÀåÀ» ¿Ï¼º½ÃÄÑ ÁØ´Ù.


(3) Ãë¾à¼º ÆÇ´Ü


-°Ë»ö¾î ÇÊµå ¹× ·Î±×ÀÎID, PASSWD Çʵ忡 Å«µû¿ÈÇ¥("), ÀÛÀºµû¿ÈÇ¥('), ¼¼¹ÌÄÝ·Ð(;) µîÀ» ÀÔ·ÂÇÑ ÈÄ, DB error°¡ ÀϾ´ÂÁö È®ÀÎÇÏÀÚ.


-·Î±×ÀÎ ¸ðµâ Á¡°Ë
MS SQLÀÎ °æ¿ì: ID Çʵ忡 ['or 1=1 ;--], ºñ¹Ð¹øÈ£ Çʵ忡´Â ¾Æ¹« °ªÀ̳ª ÀÔ·ÂÇÑ ÈÄ ·Î±×ÀÎÀ» ½ÃµµÇÑ´Ù.
OracleÀÎ °æ¿ì: ID Çʵ忡 ['or 1=1 --], ºñ¹Ð¹øÈ£ Çʵ忡´Â ¾Æ¹« °ªÀ̳ª ÀÔ·ÂÇÑ ÈÄ ·Î±×ÀÎÀ» ½ÃµµÇÑ´Ù.


-±âŸ
ID Çʵ忡 ['or ''='], ºñ¹Ð¹øÈ£ Çʵ忡 ['or ''=']À» ÀÔ·ÂÇÑ ÈÄ ·Î±×ÀÎÀ» ½ÃµµÇÑ´Ù.


¡Ø À§ ¿¹Á¦ ÀÌ¿Ü¿¡µµ ´Ù¾çÇÑ ¹æ¹ýÀÌ °¡´ÉÇϱ⠶§¹®¿¡, ·Î±×ÀÎ ¹× »ç¿ëÀÚ ÀÔ·Â °ªÀ» »ç¿ëÇÏ´Â ¼Ò½º¿¡¼­ DB Query »ý¼º ¹æ½ÄÀ» Á÷Á¢ Á¡°ËÇØ¾ß ÇÑ´Ù.


¡á º¸È£ ´ëÃ¥


(1) ÀÏ¹Ý ´ëÃ¥
-µ¥ÀÌÅͺ£À̽º¿Í ¿¬µ¿À» ÇÏ´Â ½ºÅ©¸³Æ®ÀÇ ¸ðµç ÆĶó¹ÌÅ͵éÀ» Á¡°ËÇÏ¿© »ç¿ëÀÚÀÇ ÀÔ·Â °ªÀÌ SQL injectionÀ» ¹ß»ý½ÃÅ°Áö ¾Êµµ·Ï ¼öÁ¤ÇÑ´Ù.


-»ç¿ëÀÚ ÀÔ·ÂÀÌ SQL injectionÀ» ¹ß»ý½ÃÅ°Áö ¾Êµµ·Ï »ç¿ëÀÚ ÀÔ·Â ½Ã Ư¼ö¹®ÀÚ(' " / ; : Space -- +µî)°¡ Æ÷ÇԵǾî ÀÖ´ÂÁö °Ë»çÇÏ¿© Çã¿ëµÇÁö ¾ÊÀº ¹®ÀÚ¿­À̳ª ¹®ÀÚ°¡ Æ÷ÇÔµÈ °æ¿ì¿¡´Â ¿¡·¯·Î ó¸®ÇÑ´Ù.


-SQL ¼­¹öÀÇ ¿¡·¯ ¸Þ½ÃÁö¸¦ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÖÁö ¾Êµµ·Ï ¼³Á¤ÇÑ´Ù. °ø°ÝÀÚ´Â ¸®ÅÏ µÇ´Â ¿¡·¯ ¸Þ½ÃÁö¿¡ ´ëÇÑ ºÐ¼®À» ÅëÇÏ¿© °ø°Ý¿¡ ¼º°øÇÒ ¼ö ÀÖ´Â SQL Injection ½ºÆ®¸µÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù. µû¶ó¼­ SQL ¼­¹öÀÇ ¿¡·¯ ¸Þ½ÃÁö¸¦ ¿ÜºÎ¿¡ Á¦°øÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.


-À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ »ç¿ëÇÏ´Â µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚÀÇ ±ÇÇÑÀ» Á¦ÇÑÇÑ´Ù. °¡´ÉÇϸé ÀÏ¹Ý »ç¿ëÀÚ ±ÇÇÑÀ¸·Î´Â ¸ðµç system stored procedures¿¡ Á¢±ÙÇÏÁö ¸øÇϵµ·Ï ÇÏ¿© À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ SQL Injection Ãë¾àÁ¡À» ÀÌ¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º Àüü¿¡ ´ëÇÑ Á¦¾î±ÇÀ» ¾ò°Å³ª µ¥ÀÌÅͺ£À̽º¸¦ ¿î¿ëÁßÀÎ ¼­¹ö¿¡ ´ëÇÑ Á¢±ÙÀÌ ºÒ°¡´ÉÇϵµ·Ï ÇÑ´Ù.


-php.ini ¼³Á¤ º¯°æ
 : php.ini ¼³Á¤ Áß magic_quotes_gpc °ªÀ» OnÀ¸·Î ¼³Á¤ÇÑ´Ù.


; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On  ; Off¿¡¼­ OnÀ¸·Î º¯°æÇÑ´Ù.
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off



¡á °³¹ß ¾ð¾îº° ´ëÃ¥
-»ç¿ëÀڷκÎÅÍ ÀԷ¹ÞÀº º¯¼ö·Î SQL Äõ¸® ±¸¹®À» »ý¼ºÇÏ´Â CGI´Â ÀԷ¹ÞÀº º¯¼ö¸¦ üũÇϰųª º¯°æÇÏ´Â ·ÎÁ÷À» Æ÷ÇÔÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù.


-ÀԷ¹ÞÀº º¯¼ö¿Í µ¥ÀÌÅÍ º£À̽º ÇʵåÀÇ µ¥ÀÌÅÍÇüÀ» ÀÏÄ¡ ½ÃÄÑ¾ß ÇÏ°í, »ç¿ë ÁßÀÎ SQL ±¸¹®À» º¯°æ½Ãų ¼ö Àִ Ư¼ö¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´ÂÁö üũÇØ¾ß ÇÑ´Ù.


-°Ë»ö ºÎºÐ°ú °°ÀÌ Å¬¶óÀ̾ðÆ®·ÎºÎÅÍ »ý¼ºµÈ SQL ±¸¹®À» ¹Þ´Â ºÎºÐÀÌ ÀÖ´Ù¸é À̸¦ Á¦°ÅÇØ¾ß ÇÑ´Ù.


¡à ASP
-Ãë¾àÇÑ SQL Injection ¿¹Á¦
prodId = Request.QueryString("productId")
Set conn = server.createObject("ADODB.Connection")
Set rs = server.createObject("ADODB.Recordset")
query = "select prodName from products where id = " & prodId
conn.Open "Provider=SQLOLEDB; Data Source=(local);
Initial Catalog=productDB; User Id=dbid; Password="
rs.activeConnection = conn
rs.open query
If not rs.eof Then
response.write "Á¦Ç°¸í" & rs.fields("prodName").value
Else
response.write "Á¦Ç°ÀÌ ¾ø½À´Ï´Ù"
End If



-¾ÈÀüÇÑ SQL Injection ¿¹Á¦
prodId = Request.QueryString("productId")
prodId = replace(prodId, "'", "''")' Ư¼ö¹®ÀÚ Á¦°Å
prodId = replace(prodId, ";", "")
set conn = server.createObject("ADODB.Connection")
set rs = server.createObject("ADODB.Recordset")
query = "select prodName from products where id = " & prodId
conn.Open "Provider=SQLOLEDB; Data Source=(local);
Initial Catalog=productDB; User Id=dbid; Password="
rs.activeConnection = conn
rs.open query
If not rs.eof Then
response.write "Á¦Ç°¸í" & rs.fields("prodName").value
Else
response.write "Á¦Ç°ÀÌ ¾ø½À´Ï´Ù"
End If  



¡à PHP
-addslashes() ÇÔ¼ö »ç¿ë
 : »ç¿ëÀÚ°¡ ÀÔ·ÂÇÏ´Â °ªµé($_GET, $_POST)À» ¸ðµÎ addslashes() ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ó¸®ÇÏ¿© ÁØ´Ù.
addslashes()
¿ëµµ : DB Query¿Í °°ÀÌ ÀοëµÈ ºÎºÐ¾Õ¿¡ ¿ª½½·¡½¬¸¦ ºÙ¿©¼­ ¹ÝȯÇÑ´Ù. ÇØ´ç ¹®ÀÚ¿¡´Â ÀÛÀº µû¿ÈÇ¥, Å« µû¿ÈÇ¥, ¿ª½½·¡½¬, NULLÀÌ ÀÖ´Ù. SQL Injection °ø°ÝÀ» À§Çؼ­ »ç¿ëÇÑ´Ù.
- Àû¿ë °¡´ÉÇÑ PHP : PHP 3 ÀÌ»ó



-Ãë¾àÇÑ SQL Injection ¿¹Á¦
$query = "SELECT id, password, username FROM user_table WHERE id='$id'";// »ç¿ëÀڷκÎÅÍ ÀԷ¹ÞÀº id °ªÀ» »ç¿ëÀÚ table¿¡¼­ Á¶È¸
$result = OCIParse($conn, $query);
if (!OCIExecute($result))
echo "";// ¸ÞÀÎ ÆäÀÌÁö·Î redirect
OCIFetchInto($result, &$rows);
... Áß·« ...



-¾ÈÀüÇÑ SQL Injection ¿¹Á¦
$query = sprintf("SELECT id,password,username FROM user_table WHERE id='%s';",addslashes($id));
// idº¯¼ö¸¦ ¹®ÀÚÇüÀ¸·Î ¹Þ°í, idº¯¼öÀÇ Æ¯¼ö¹®ÀÚ¸¦ ÀϹݹ®ÀÚ·Î º¯È¯ÇÑ´Ù.
// @ ·Î php ¿¡·¯ ¸Þ½ÃÁö¸¦ ¸·´Â´Ù.
$result = @OCIParse($conn, $query);
if (!@OCIExecute($result))
error("SQL ±¸¹® ¿¡·¯");
exit;
@OCIFetchInto($result,&$rows);
... Áß·« ...



¡à JSP
-Ãë¾àÇÑ SQL Injection ¿¹Á¦
String sql="SELECT*FROM user_table"+"WHERE id=" + response.getParameter("id")
+ " AND password = " + response.getParameter("password");
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
while(rs.next())  



-¾ÈÀüÇÑ SQL Injection ¿¹Á¦
String sql = "SELECT*FROM user_table"+"WHERE id = ?"+"AND password = ?";
ResultSet rs = null;
PreparedStatement pstmt = null;
try
conn = DBManager.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, request.getParameter("id"));
pstmt.setString(2, request.getParameter("password"));
rs = pstmt.executeQuery();


¿øº»: SQL Injection °ø°Ý°ú ¹æ¾î¹æ¹ý
                    ´äº¯/°ü·Ã ¾²±â     ÀÌÀü±Û ´ÙÀ½±Û    
¹®¼­¹øÈ£À帣¹®¼­¸íÃâó÷ºÎ
     ÀÌ°÷¿¡¼­´Â À¥ÇØÅ·¿¡ ´ëÇÑ ¹®¼­µéÀ» Á¦°øÇÕ´Ï´Ù.
47 À¥ÇØÅ·    ARP µ¥ÀÌºí º¯°æÇϱâ V1.0 - ¿µ¹® DataWizard  
46 ÀÚ¹Ù    ÀÚ¹Ù·Î ÇÏ´Â ÇØÅ· - ¿µ¹® b0iler  
45 ÄíÅ°    Cookies Revealed Abhishek Bhuyan  
44 À¥ÇØÅ·    SQL »ðÀÔ°ø°Ý°ú ¹æ¾î Á¶ÅÂÇü  
43 À¥ÇØÅ·    À¥ÇØÅ· ¹æ¾îÇϱâ Á¶ÅÂÇü  
42 À¥ÇØÅ·    ÀÚÁÖ »ç¿ëµÇ´Â SQL °ø°Ý¿ë ½ºÆ®¸µ µµÇ¥ ±èÁøÅà  
41 À¥ÇØÅ·    ¾÷·Îµå °ø°Ý ¹æ¾î¹ý °³³äÀâ±â ±èÁøÅà  
40 À¥ÇØÅ·    ´Ü¼øÇÏ°í À§ÇèÇÑ À¥ ÇØÅ·ÀÇ ¼¼°è ±è°æ°ï  
39 ÄíÅ°    cookie spoofing & sniffing Á¶ÅÂÇü  
38 À¥ÇØÅ·    À¥ cmd Á¶ÅÂÇü  
37 ±¸±Û    ±¸±ÛÇØÅ· ¹æ¾îÇϱâ Á¶ÅÂÇü  
36 À¥ÇØÅ·    À©µµ2K¿¡¼­ IE °ø°ÝÇÏ´Â ¹ý ±èÁøÅà  

 
¸ñ·Ï