目录
一、如何判断该网站使用的是sql server 数据库
- 根据后缀判断:如果后缀为aspx,数据库大概是sql server
- 根据报错信息判断,报错信息中有Microsoft 字样。
- 根据系统表判断,and (select count(*)from sysdatabases) >0 ,如果成立的话,则说明它里边含有这个系统表,可以判断为sql server 数据库 sql server 数据库包含三张主要系统表
二、sql server 数据库包含三张主要系统表
- sysdatabases :这张表保存在master数据库中,里边的name字段下存放的是所有数据库的库名。
- sysobjects:这张表保存的是数据库的表的信息,里边的id字段存放的是表的id,name为表名,xtype 字段存放的是表的类型,u代表为用户创建的表,s表示该表是系统表。
- syscolumns:这张表存放的是数据库中字段的信息,id 为表的id,该id可以通过sysobjects获得。name为字段名称。
三、sql server 主要函数
- host_name() :返回服务器端主机名称。
- current_user():返回当前数据库用户。
- db_name():返回当前数据库库名 。
- char():将ASCII码转化为对应的字符。
- ASCII():将字符转化为对应的ASCII码。
- substring():截取字符串。
四、数据库的注入流程
- 获取数据库名称
- 获取数据库中表的名称
- 获取数据库中表的列名
- 获取对应的数据
五、sql server 的联合查询
1.使用union关键字
2.使用union联合查询注意事项
- 首先还是需要知道查询的列数,使用order by n 进行判断 n表示具体列数。
- sql server 数据库与MySQL数据库不同的是,sql server 数据库前后的数据类型必须一致。
- 判断出数据的显示位置。
- 使得先前的查询结果为空。
3.sql server 数据库使用联合查询的演示。