sql注入之布尔盲注

sql注入之布尔盲注

今天我们主要讲一下布尔盲注是如何使用的,顾名思义,盲注,就是我们需要去不停的去测试,首先我们测试注入类型,然后我们再去带入相应的函数信息。布尔盲注很明显的就是ture跟fales,也就是说它会根据你输入的注入信息返回ture或者fales,也就没有了之前的报错信息。

布尔盲注里面比较常用得函数是length(),测试返回字串符得长度,substr(),截取字符串,以及ascii()编码表,返回字符的ascii表。
我们就拿sqli labs-5来测试,首先我们来测试数据库得长度,即这个数据库是几位数得,这里就要用到我们的length()函数了。
在这里插入图片描述

在这里插入图片描述
由上图我们可以看出,当我们输入7得时候,是可以返回得,但是当我们输入>8得时候,是没有结果的。由此我们断定这里的数据库长度是大于7而小于8得,那我们就直接输入=8即可。这样我们就测出来当前数据库得长度是8位数得。
爆出来长度之后,我们就要挨个爆数据库得名字了 我们从第一个开始爆破。这里就要用到substr()这个函数了。
在这里插入图片描述这里我们讲俩点,第一个是database(),1,1,这里得第一个1代表得是当前数据库名字的第一个字符,跟我们之前用的limit0,1有区别的,这里要记住了。
然后第二个点是我们爆出来得当前字符串相对应的字符是ascii编码表的第115位,即’s’。这样我们就以此类推爆出当前数据库名字得其他字串啦。
然后我们接下来爆表名。首先我们要获取表的数量。
在这里插入图片描述

在这里我们看到当前数据库有四张表。然后我们先爆第一张表的名字长度以及表名。

在这里插入图片描述经过我们得测试得出 当前数据库得第一张表有六个字符。
然后我们就要爆第一个表的第一个字符了。
在这里插入图片描述

然后得出我们爆出的第一个表的第一个字符是’e’。然后以此类推,我们就可以爆出这张表的其它字符串了。
然后紧接着就是爆列的长度以及列的名字了。方法跟上面一样,就不做一一解释了。
语法分别是:id=1’ and length((select column_name from information_schema.columns where table_name=‘users’ limit 0,1))>?这是代表获取列的长度。
adn ascii((substr(select column_name from information_schema.columns where table_name=‘users’ limit 0,1),m,1))>n 这是代表破解列得名字。

布尔盲注就是这么得费劲,一般情况下我们会借助一些工具省区这些繁琐的步骤,但是在学习之初,还是希望大家能够自己慢慢测试熟悉一下流程,毕竟走的慢一点 才可以走的更稳嘛。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值