1.27
SQL:
database:数据库
table:表
column:列
data:数据
整数型注入
先按照它的提示输入1

可以看到它正常情况的返回值。
然后database()获得数据库的名称sqli

在数据库sqli中获得表的名称news和flag。

在flag表中,获得列名flag。

从flag这一列找出flag。

字符型注入
先照它的提示,输入1(字符型注入需要注意引号匹配)

然后试一下 1' and '1=1,看来可以注入

然后得到database名(database():返回数据库名)

得到table名

得到column名

得到data(flag)

//但是为什么最后这步不能像整数型注入一样,写sqli.flag呢?

1.29
报错注入
先测试一下。


然后我就没思路啦!(雾)
//
上网查了一下:
报错的原因是因为rand()函数在查询的时候会执行一次,插入的时候还会执行一次。
这就是整个语句报错的关键。——ctfhub技能树—sql注入—报错注入
先查询数据库名:

再查表名:



再查列名:


最后查数据:

2.9