输入id=1显示正常,输入id=1'报错
![](https://img-blog.csdnimg.cn/dccae9c1e8704c509e288cef6eb9fb67.png)
这里我们无法从错误信息中找到我们需要的东西,就要用到盲注了<这里的盲注指的是布尔盲注>
所谓盲注就是我们去猜测数据库的长度等等,再结合语句去验证从而得到我们想要的信息
我们依然是用burp进行验证,如下:
首先我们输入?id=1让burp进行拦截
![](https://img-blog.csdnimg.cn/ee51882146924013bd5e4fbaa6ed8bbc.png)
然后发送到Repeater
![](https://img-blog.csdnimg.cn/7712c4e273494aae86ab8b445c504455.png)
在Repeater中输入?id=1')) and 4< (select length(database()))--+来判断数据库的长度是否大于4
![](https://img-blog.csdnimg.cn/573c2c31741f47adaff27d856df31b73.png)
发现数据库长度大于4
接下来我们就要猜测并验证数据库的长度是多少
经过验证发现数据库长度为8
然后输入 ?id=1')) and 'm'<(select substr(database(),1,1))--+
![](https://img-blog.csdnimg.cn/4641c87928394978bac979d4c0f6234e.png)
发现数据库名第一个字母是大于“m”的,进一步验证发现该字母是大于”r“的,再进一步验证发现该字母为”s“数据库名第一个字母就找出来了,以此类推,不难发现数据库名为:security
但是,用这个方法相当的消耗时间跟精力,再次本人并不推荐大家用这种方法
我们把代码发从到Intruder进行攻击
![](https://img-blog.csdnimg.cn/ca8cf69a70a8436b93665bf1e3585d62.png)
在Intruder中我们需要设置各种参数来找出数据库名
![](https://img-blog.csdnimg.cn/afd3baa850dc4e18a98555afd6341f3d.png)
在a处加上$符号
在Options中加上显示正确的信息以便我们查找数据库名
最后点击Start attack查找数据库名的第一个字母
![](https://img-blog.csdnimg.cn/d18725f24101466c95a562f9aca8d156.png)
然后把这里的1改成2来查找数据库名的第二个字母,以此类推,找出数据库名为:security
?id=1')) and '§a§'=(select substr(database(),1,1))--+
Less - 8
与Less-7的语句对比可以知晓只需把?id=1'))改为?id=1' 后面步骤与Less-7相同