[GYCTF2020]Blacklist1
1.点进去之后发现是个表单。2.这里还帮我们输入了个。我们提交一下看看怎么个事3.可以看到回显是个数组。4.那我们用永真式试试看。得到结果。没得到什么信息但是早知道了存在sql注入。永真式是能用的。5.那我们开始尝试联合查询注入6.没成功。但是跳出来了preg_match这个里面一般是过滤的东西。可以看到过滤了很多东西select大小写被禁用。说明布尔盲注时间盲注报错注入联合注入这些应该是都用不了了。7.那我们只能用到直接学到的堆叠注入。inject1;show databases;--8.果然显示出了数据库名9.那说明堆叠注入是可行的那我们继续。inject1;show tables;--10.得到结果11.可以看到有一个flaghere估计大概率是flag所在的地方了。那我们继续?inject1;show columns from FlagHere;--12.得到结果13.可以看到有一个flag的字段名。那我们离答案很近了。但是因为select被禁用我们不知道怎么去查询到这个字段。14.看了大佬的wp才知道这里还可以用handler函数。handler table_name open;handler table_name read first;handler table_name close;这个函数的构造很容易看懂。先打开表也就是table_name open;然后再读取第一个数据read first。最后关闭。15.非常简单。我们构造payload。inject1;handler FlagHere open;handler FlagHere read first;handler FlagHere close;--16.得到flag