SQL注入学习记录 CTFHub SQL注入 布尔盲注

一、布尔盲注

可以进行SQL注入,但是不能通过SQL注入漏洞看到数据库中的信息,但是可以通过回显的真假判断数据库中的信息。
用到的函数:

Length()函数 返回字符串的长度
Substr()截取字符串,有三个参数,第一个是要截取的字符串,第二个是从第几个字符开始,第三个是一次截取多少个字符

二、做题

打开后还是熟悉的界面:
在这里插入图片描述
我们先输入1
在这里插入图片描述
只是返回了一个query_success,没有回显其他内容。输入1'则返回了query_success。
于是我们只能一个一个猜他的名称。
我们可以通过length()函数来猜每个名称的长度,例如1 and length(database())>=4,返回了:
在这里插入图片描述
1 and length(database())>=5则返回了:
在这里插入图片描述
证明当前使用数据库的名称长度为4,于是可以利用burpsuite来进行爆破猜出他的名称,先输入1 and substr(database(),1,1)='a',使用burpsuite抓包,然后将substr()的第二个参数和后面的a选中,添加负载:
在这里插入图片描述
爆破得到:
在这里插入图片描述
拿到数据库名称’sqli’。
接着输入1 and substr((select table_name from information_schema.tables where table_schema='sqli' limit 0,1),1,1)='a',还是burpsuite抓包,
在这里插入图片描述在这里插入图片描述
拿到第一个表名news,将limit第一个参数改为1,如法炮制得到第二个表名flag,显然flag就在这个表中。
然后输入1 and substr((select column_name from information_schema.columns where table_name='flag' limit 0,1),1,1)='a',burpsuite抓包:
在这里插入图片描述
在这里插入图片描述
拿到flag表中的字段名flag。
之后这步我依旧是用burpsuite抓包爆破,输入1 and substr((select flag from flag),1,1)='a',但是flag足足40+位,爆破得到:
在这里插入图片描述在这里插入图片描述
这么长,还是乱序的,眼睛都看花了。
后来在网上搜了一下其他人做的步骤,发现他们都是用的python爆破(留下菜鸡的眼泪),多学习吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值