输入1
输入1’没有反应
试一下联合查询,先看回显
被过滤了
所以尝试堆叠查询
然后上网查,,,居然是要推测出后端的代码
sql = "select".sql="select".sql="select".post[‘query’]."||flag from Flag";
在注入前有一个知识点就是select 1 from table到底查了点什么
到Navicat中试一下,我的表名叫user,里面没有字段1,共有11行记录
可以看到这句话的意思是在原有的表中临时增加一列,里面的内容全部都是1,行数的多少取决于原先表中的行数。
然后是||,这里面的||和语言中的一样,也是或的意思
所以这句话sql语句在我们post输入*,1之后
得到的sql语句是
select *,1||flag from Flag,
之后我是不太理解的,然后看到了一位大佬的话
所以当我们在输入最后的pl后,除了flag,还有一个1的原因