通过union进行获取数据-字符型

在pikachu上查询kobe,出现了两个字段id和email 在这里插入图片描述

在后台和前端查询是一样的出现数据,也就是有两个字段:id和email 在这里插入图片描述

通过sql语句order by 以列的形式排序,没有第三列,所以order by 3 报错 在这里插入图片描述

然后在字符型手动测试猜测有几列,可以多次测试看看有多少列。

aaa' order by 3#

如图所示表中没有3列 在这里插入图片描述

再来输入一次

aaa' order by 2#

发现输入的被执行了,知识不存在的用户,但是可以判断为是2列,证明有两个字段。 在这里插入图片描述

sql语句中的union联合查询语句中,union后面的字段一定要和union前面的字段相同,例如:

select id,email from member where username='kobe' union select username,pw from member where id=1 ;

例如: 在这里插入图片描述

如果union前后字段不相同则报错,如下图 在这里插入图片描述

在使用union联合查询语句编写payload攻击语句如下: 注意:上面已经判断出是2个字段,所以union后面也只能是2个字段

aaa' union select database(),version() #
aaa' union select database(),user() #

输入payload语句会出现当前的数据库的名称和数据的版本信息 在这里插入图片描述