[SUCTF 2019]EasySQL
题目链接:https://buuoj.cn/challenges#[SUCTF 2019]EasySQL
打开环境后,如下所示。
尝试输入字符:1。
尝试输入字符:0 后,发现没有输出结果。
尝试输入字符串 "aaa"、"bbb" 等后,发现都跟输入 0 的结果一致,而输入 123、456 等非 0 的内容,都与输入 1 一致,这里可以猜测(实际上需要比较丰富的经验才会猜到🤔),后端的 SQL 语句类似于:select $post['query']||flag from Flag
,因此,输入 Payload:*,1
后,构造成:select *,1||flag from Flag
,即可获得 flag。
参考链接:
(通过 fuzzing 可以发现诸如 from
等多个关键词都被过滤,且输入 Payload:1;show databases;
即可发现存在堆叠注入,但实际上,解题的全过程中并不需要用到 fuzzing 与堆叠注入)。