1581, 1/80 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   subroutine
   http://blog.naver.com/31337__
   [re] sql ÀÎÁ§¼Ç º¹±¸Äõ¸®

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1178 [º¹»ç]


* Script »ðÀÔ °ø°ÝÀ» ´çÇß´ÂÁö È®ÀÎÇÏ´Â Äõ¸®

DECLARE @T varchar(255), @C varchar(255);
DECLARE Table_Cursor CURSOR FOR
SELECT a.name, b.name
FROM sysobjects a, syscolumns b
WHERE a.id = b.id AND a.xtype = 'u' AND
(b.xtype = 99 OR
b.xtype = 35 OR
b.xtype = 231 OR
b.xtype = 167);
OPEN Table_Cursor;
FETCH NEXT FROM Table_Cursor INTO @T, @C;
WHILE (@@FETCH_STATUS = 0) BEGIN

exec ('select ['+@C+'] from ['+@T+'] where ['+@C+'] like ''%<script%</script>''');
-- print 'select ['+@C+'] from ['+@T+'] where ['+@C+'] like ''%<script%</script>'''

  FETCH NEXT FROM Table_Cursor INTO @T, @C;
END;
CLOSE Table_Cursor;
DEALLOCATE Table_Cursor;

* À§ÀÇ °ø°ÝÀ» ´çÇßÀ» ¶§ º¹¿øÇÏ´Â Äõ¸® (100% ´Ù µÇ´Â °ÍÀº ¾Æ´Ô - º°µµ È®ÀÎ ÇÊ¿ä)

* ÇØÅ· ½Ã ±æÀÌ°¡ ±ä °æ¿ì¿¡´Â ©¸®°í µé¾î°¡´Â Çö»óÀÌ ¹ß»ýÇÔ - ÀÌ °æ¿ì¿¡´Â º¹¿øÀ» Çصµ ¿ø»óº¹±¸°¡ ¾ÈµÊ

* ¹é¾÷ ¹ÞÀº °ÍÀ» º¹¿øÇÏ´Â ¼ö ¹Û¿¡´Â ¾øÀ½

DECLARE @T varchar(255), @C varchar(255);
DECLARE Table_Cursor CURSOR FOR
SELECT a.name, b.name
FROM sysobjects a, syscolumns b
WHERE a.id = b.id AND a.xtype = 'u' AND
(b.xtype = 99 OR
b.xtype = 35 OR
b.xtype = 231 OR
b.xtype = 167);
OPEN Table_Cursor;
FETCH NEXT FROM Table_Cursor INTO @T, @C;
WHILE (@@FETCH_STATUS = 0) BEGIN
  EXEC(
    'update ['+@T+'] set ['+@C+'] = left(
            convert(varchar(8000), ['+@C+']),
            len(convert(varchar(8000), ['+@C+'])) - 6 -
            patindex(''%tpircs<%'',
                      reverse(convert(varchar(8000), ['+@C+'])))
            )
      where ['+@C+'] like ''%<script%</script>'''
      );
  FETCH NEXT FROM Table_Cursor INTO @T, @C;
END;
CLOSE Table_Cursor;
DEALLOCATE Table_Cursor;


DB injection °ø°Ý?
±¸±Û¿¡¼­ <script src= 0.js ¶ó°í °Ë»öÇÏ¸é ³î¶ö Á¤µµ·Î ¸¹Àº »çÀÌÆ®µéÀÌ DB °ø°ÝÀ» ¹Þ¾ÒÀ½À» È®ÀÎ ÇÏ½Ç ¼ö ÀÖÀ»°Ì´Ï´Ù.
Á¦°¡ °ü¸®ÇÏ´Â »çÀÌÆ® ¶ÇÇÑ À§¿Í°°Àº ½ºÅ©¸³Æ® »ðÀÔµÇ¾î ¼ö¸¹Àº »çÀÌÆ®¸¦ ã¾Æ ´Ù´Ï¸ç º¹±¸ÇÏ°í ³ª¸§´ë·Î º¸¾ÈÇÏ´Â ¹æ¹ýÀ» Á¢ÇÏ°Ô µÈ °ÍÀ» ¿Ã·Á º¾´Ï´Ù.


1. °ø°Ý À¯Çü :
SQL injection ȨÆäÀÌÁö »óÀÇ DB»ç¿ëÇÏ´Â ÆäÀÌÁö¸¦ °ø°Ý Áï, À¥¼Ò½º Ãë¾àÇÑ °÷À» ÅëÇØ DB¸¦ °ø°Ý.
Ư¼ö ÄÚµå »ðÀÔÇؼ­ DB¿¡ ½ºÅ©¸³Æ®¸¦ »ðÀÔÇÏ¿© Á¢¼ÓÇÏ´Â »ç¿ëÀÚ¿¡°Ô ¾Ç¼ºÄڵ带 ¼³Ä¡ÇÏ´Â À¯Çü.


2. Á¶Ä¡ ½Ã ÁÖÀÇ »çÇ×
1) ȨÆäÀÌÁö º¯Á¶¸¦ ÅëÇØ ¾Ç¼ºÄÚµå ¸µÅ©¸¦ »ðÀÔÇÑ°Ô ¾Æ´Ï¶ó, SQL injection ±â¹ýÀ» ÀÌ¿ëÇØ DB ÄÁÅÙÃ÷¿¡ »ðÀÔÇÑ °ÍÀÔ´Ï´Ù.
2) Á¶Ä¡ ½Ã DBA ÀÇ µµ¿òÀ» ¹Þ´Â°Ô ÁÁ½À´Ï´Ù.
3) °ø°Ý ¶§¹®¿¡ ±âÁ¸ÀÇ µ¥ÀÌÅÍ°¡ ÀϺΠµ¡¾º¿öÁ® º¯°æµÇ¾úÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ·² ¶© ¹é¾÷ÀÇ µµ¿òÀ» ¹Þ¾Æ¾ß °ÚÁö¸¸, ÀϺΠµ¥ÀÌÅÍÀÇ À¯½ÇÀº ¾î¿ ¼ö ¾øÀ» µí...
4) ±Ùº» ¿øÀÎÀº »çÀÌÆ®°¡ SQL injection °ø°Ý¿¡ Ãë¾àÇÏ°Ô °³¹ßµÇ¾î À־ ±×·¸½À´Ï´Ù. °ø°Ý Æ÷ÀÎÆ®¸¦ ÆľÇÇؼ­ ¿ÜÁÖ°³¹ß ¾÷ü, ȤÀº ³»ºÎ°³¹ßÆÀÀ» ÅëÇØ ¼Ò½º¸¦ ¼öÁ¤Çϼ¼¿ä.
5) ¼Ò½º¸¦ ¼öÁ¤ÇÒ ¼ö ¾ø´Â °æ¿ì À¥ ¹æÈ­º®ÀÌ µµ¿òÀÌ µÉ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¯³ª, Á¦Ç° µµÀԽà ¸é¹ÐÈ÷ °ËÅäÇÏ½Ç ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ´Ü¼ø ÆÐÅÏ ¸ÅĪ ÇüŸ¦ »ç¿ëÇؼ­, º¸À¯ÆÐÅÏ°ú 1byte ¸¸ Ʋ·Áµµ ŽÁö ¸øÇÏ´Â Á¦Ç°ÀÌ ¸î °³ ÀÖ´õ±º¿ä.


3. °ø°ÝÀ¸·Î »ý±ä DB table »èÁ¦
comd_list Å×ÀÌºí »èÁ¦
ahcmd Å×ÀÌºí »èÁ¦
foofoofoo Å×ÀÌºí »èÁ¦
Reg_Arrt Å×ÀÌºí »èÁ¦
comd_list Å×ÀÌºí »èÁ¦
D99_CMD Å×ÀÌºí »èÁ¦
D99_TMP Å×ÀÌºí »èÁ¦
Kill_kk Å×ÀÌºí »èÁ¦
jiaozhu Å×ÀÌºí »èÁ¦


4. »ðÀÔ ½ºÅ©¸³Æ® Á¦°Å º¹±¸
DECLARE @T varchar(255), @C varchar(255);
DECLARE Table_Cursor CURSOR FOR
SELECT a.name, b.name
FROM sysobjects a, syscolumns b
WHERE a.id = b.id AND a.xtype = 'u' AND
(b.xtype = 99 OR
b.xtype<object id=sayboxtistorycom4534743 codeBase=http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0 height="100%" width="100%" classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000> <object width="100%" height="100%" wmode="transparent" id="sayboxtistorycom4534743" src="http://cfs.tistory.com/blog/plugins/CallBack/callback.swf?destDocId=callbacknestsayboxtistorycom4534743&id=453&callbackId=sayboxtistorycom4534743&host=http://saybox.tistory.com&float=left&" allowScriptAccess="always" menu="false" type="application/x-shockwave-flash" ></object></object>= 35 OR
b.xtype = 231 OR
b.xtype = 167);
OPEN Table_Cursor;
FETCH NEXT FROM Table_Cursor INTO @T, @C;
WHILE (@@FETCH_STATUS = 0) BEGIN
  EXEC(
    'update ['+@T+'] set ['+@C+'] = left(
            convert(varchar(8000), ['+@C+']),
            len(convert(varchar(8000), ['+@C+'])) - 6 -
            patindex(''%tpircs<%'',
                      reverse(convert(varchar(8000), ['+@C+'])))
            )
      where ['+@C+'] like ''%<script src=http://s.ardoshanghai.com/s.js></script>'''
      );
  FETCH NEXT FROM Table_Cursor INTO @T, @C;
END;
CLOSE Table_Cursor;
DEALLOCATE Table_Cursor;

'½ºÅ©¸³Æ® ºÎºÐÀº »ðÀÔµÈ ½ºÅ©¸³Æ®¸¦ ÀÔ·Â


5. º¸¾È Àû¿ë 1 - MSSQL ¸Þ¸ð¸®¿¡¼­ À§ÇèÇÑ spµéÀ» ³»¸°´Ù.
º¸¾È»ó À§ÇùÀÌ µÉ ¼ö ÀÖ´Â °³Ã¼µé¿¡ ´ëÇÏ¿© ÀÏ¹Ý »ç¿ëÀÚ ±×·ìÀÇ »ç¿ë±ÇÇÑÀ» Á¦ÇÑÇÑ´Ù.
SP µî·ÏÇØÁ¦´Â À§ÇèÀ» °¨¾ÈÇØ¾ß ÇϹǷΠ¸Þ¸ð¸®¿¡¼­¸¸ ³»¸°´Ù. ´ÜÁ¡, ÀçºÎÆõǰųª DB Àç½ÃÀ۽à ´Ù½Ã ¾Æ·¡ Äõ¸® ½ÇÇà ÇÒ°Í!

dbcc xp_cmdshell(free)
dbcc xp_dirtree(free)
dbcc xp_regdeletekey(free)
dbcc xp_regenumvalues(free)
dbcc xp_regread(free)
dbcc xp_regwrite(free)
dbcc sp_makewebtask(free)


6. º¸¾È Àû¿ë 2
¹«¾ùº¸´Ù DB ÀÎÁ§¼ÇÀÌ ¹ß»ýÇÑ ¿øÀÎÀÎ ·Î±×ÀÎ, ȸ¿ø°¡ÀÔ, °Ô½ÃÆÇ µî »ç¿ëÀÚ°¡ DB¸¦ Á¢ÇÏ°Ô µÇ´Â ¼Ò½º °³¹ß½Ã Ư¼ö ¹®ÀÚ º¸¾È Àû¿ë ¾ÈµÈ °æ¿ì°¡ °¡Àå À¯·ÂÇÏ´Ù.
·Î±×ÀÎ, ȸ¿ø°¡ÀÔ, ¾ÆÀ̵ð ºñ¹øã±â, °Ô½ÃÆÇ µîÀÌ °³¹ßÀÚ°¡ °³¹ßÇϸ鼭 DB¸¦ °ø°ÝÇÒ¸¸ÇÑ Æ¯¼ö ¹®ÀÚ¿¡ ´ëÇÑ Â÷´Ü ±â´ÉÀ» Àû¿ëÇÏÁö ¾ÊÀº ¹®Á¦·Î ÆǴܵÊ. ¼Ò½º¸¦ ¸ðµÎ °³¼± ÇؾßÇÔ.

-subroutine-

  Hit : 7997     Date : 2009/01/11 01:55



    
     [°øÁö] °­Á¸¦ ¿Ã¸®½Ç ¶§´Â ¸»¸Ó¸®¸¦ ´Þ¾ÆÁÖ¼¼¿ä^¤Ñ^ [29] ¸Û¸Û 02/27 18813
1580   °í¼ö´ÔµéÀÇ µµ¿òÀ» ¹Þ°í ½Í½À´Ï´Ù     vbnm111
02/11 278
1579   ¸®´ª½º Ä¿³Î 2.6 ¹öÀü ÀÌÈÄÀÇ LKM     jdo
07/25 775
1578   ½©ÄÚµå ¸ðÀ½     ÇØÅ·ÀßÇÏ°í½Í´Ù
01/15 1604
1577   Call by value VS Call by Reference     ÇØÅ·ÀßÇÏ°í½Í´Ù
01/15 973
1576   (²Ä¼ö) L.O.B Çѹ濡 Ŭ¸®¾îÇϱâ[2]     ÇØÅ·ÀßÇÏ°í½Í´Ù
01/14 1323
1575   towelroot.c (zip) ÄÚ¸àÆÃ.[1]     scube
08/18 3845
1574   levitator.c (¾Èµå·ÎÀÌµå ·çÆÃ) °ø°Ý ºÐ¼® ¼Ò½º ÄÚµå °øÀ¯.[4]     scube
08/17 3745
1573   ¹«·á Á¤º¸º¸¾È ±â¼úÀÎÀç ¾ç¼º °úÁ¤ ±³À°»ý ¸ðÁý     chanjung111
06/17 4558
1572   K-Shield ÁִϾî 5±â ¸ðÁý     lrtk
06/17 4281
1571   [ÆÁ] ÆÄÀ̽ã 2¼Ò½º¸¦ 3À¸·Î º¯°æÇØÁÖ´Â »çÀÌÆ®[3]     ÇѽÂÀç
05/13 3981
1570   ±¸±Û ¹é¸µÅ© ÀÛ¾÷ Áú¹®¿ä     wkatnxka
03/30 3414
1569   [ÆÁ] ¿ìºÐÅõ ¹Ì·¯¸µ¼­¹ö     ÇѽÂÀç
03/09 4112
1568 ºñ¹Ð±ÛÀÔ´Ï´Ù  °¨À»¸øÀâ°Ú³×¿ä¤Ì¤Ì     À×À×À×
01/15 3
1567   µ¥ºñ¾È °è¿­ ¸®´ª½º ÀÇÁ¸¼º ±úÁ³À»¶§ ÇØ°á¹ý     ÇѽÂÀç
11/27 4603
1566   È«º¸ÇÕ´Ï´Ù. ½Å»ý º¸¾ÈÄ¿¹Â´ÏƼÀÔ´Ï´Ù.     kimwoojin0952
10/26 4323
1565   ½Å±âÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î[3]     koreal33t
09/06 4717
1564   À©µµ¿ì,¸®´ª½º¿¡¼­ ³» ip¸¦ È®ÀÎÇØ º¸ÀÚ [1]     koreal33t
09/06 3920
1563   CTF »çÀÌÆ®[1]     koreal33t
09/06 4578
1562   ÀÚ°ÝÁõ (¹®Á¦)»çÀÌÆ® [2]     koreal33t
09/06 4392
1 [2][3][4][5][6][7][8][9][10]..[80]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org