[SUCTF 2019]EasySQL

burp suite抓包
在这里插入图片描述经过简单几个尝试,可以判断应该是布尔盲注,还是字符型的
回显会判断是0还是1,也就是true或是false

我通过类似(ascii(substr(database(),1,1))<1)的句子判断出了database()是ctf

但是没什么用,因为下一步爆表名的时候发现要么是无回显,要么是Nonono

搜了大佬们的解题
参考1
参考2

了解到可以用fuzz测试出被禁止使用的字符
关于fuzz现在还不熟悉,这里待补充

然后会发现想order、if、sleep、information_schema.tables等都被过滤了

这道题正确方法是堆叠注入,只要没ban掉;就行

爆数据库名:1;show databases;
在这里插入图片描述爆数据表:1;show tables;
在这里插入图片描述但是这里不能再继续1;select flag from Flag;了,因为Flag被过滤了

关键的查询代码是 select $_post['query']||flag from Flag(但是我没看懂这句话怎么来的)

也就是我们输入的query会和flag from Flag进行或运算

解法11;set sql_mode=PIPES_AS_CONCAT;select 1
在这里插入图片描述

其中set sql_mode=pipes_as_concat是将||的作用由or变为拼接字符串

解法2*,1
在这里插入图片描述也就是 select $_post['query']||flag from Flag$_post['query']换成*,1,也就变成了select *,1||flag from Flag这样就可以输出flag了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值