天天看点

buu做题笔记-[GYCTF2020]Blacklist

[GYCTF2020]Blacklist

进入题目就给了一个提交框,输入1提交一下

buu做题笔记-[GYCTF2020]Blacklist

感觉应该是sql注入,进行尝试

buu做题笔记-[GYCTF2020]Blacklist

存在注入点,继续操作

buu做题笔记-[GYCTF2020]Blacklist

顺利查出字段数为2,但是继续的时候就遇到了问题

buu做题笔记-[GYCTF2020]Blacklist

发现过滤了select,绕了好久都没有绕过去,就换了个思路,使用堆叠注入。

buu做题笔记-[GYCTF2020]Blacklist

顺利查出表名,接着查字段

buu做题笔记-[GYCTF2020]Blacklist

ok,接着就是查字段内容了,因为这题和强网杯2019的随便注很像,我刚开始就直接用的set赋值变量变量来解。我的payload是这样的

因为过滤了select,我就用concat来拼接语句,但是执行结果

buu做题笔记-[GYCTF2020]Blacklist

…然后我仔细看了一下,过滤了set和prepare。好吧,我是瞎子。

之后我就去看了一下其他大佬的wp,又学到了一种新姿势——handler绕过select过滤

buu做题笔记-[GYCTF2020]Blacklist

handler语法

handler table_name open ... //获取句柄
handler ... read first    //读取第一行数据
handler ... read next   //读取下一行数据
           

现在我们在本地测试一下

我本地有一个名为hack的表

buu做题笔记-[GYCTF2020]Blacklist

现在回到题目,我们已经知道了表名,就可以直接用handler来读取

buu做题笔记-[GYCTF2020]Blacklist

这样就拿到flag了