sqlilabs9-10 时间盲注

时间盲注

延迟注入,是一种盲注的手法, 提交对执行时间铭感的函数sql语句,通过执行时间的长短来判断是否执行成功,比如:正确的话会导致时间很长,错误的话会导致执行时间很短,这就是所谓的高级盲注.

使用函数

sleep():如果输入前面的条件正确,则sleep,反之则返回结果。

less-9操作过程


1.打开less9,发现无论我们输入的条件正确与否,他都是you are in,

 

 

 2.所以针对这种情况,我们可以使用时间盲注来进行操作,使用函数,sleep()来测试,如果正确,则sleep,反之,则直接返回结果。

 3.接下来我们用0来试一下

 4.所以接下来我们来获取下表名,方法还是类似于之前几关的操作,获取表名的ascii对应的十进制数,再通过查表来确定其对应的字符

 如果不放心,可以用别的数字来测试下,看是不是立即返回结果,可以看到结果返回非常快

 当然,如果我们不知道表名的话,可以用二分法来进行确认,ascii中共有128个字符,首先大于0小于129 在进行折中操作,来锁定其对应的ascii值就可以了,相比较于布尔盲注的话是比较慢的。

less-10操作过程

1.思路和less9是相同的,首先用id=1去测试,看情况,发现还是you are in。。。。。。

 2. 输入错误的sql和延时函数来进行测试,按照less9的思路

 当我们输入这条sql的时候,发现他并没有sleep,由此我们可以推断出,他的闭合方式,可能不是单引号,而是双引号,所以我们换双引号测试,这次发现他sleep了

 由此,我们推断出闭合方式为双引号闭合

3.接下来就是利用sql来进行注入,爆出我们想要的东西,这次我们爆出我们的最后一个表的名字,用二分法

首先判断他>90

 再来判断他是否大于110,确实大于110

 看是否大于120,不大于120

 看是不是大于115,大于115

 看是不是大于117,不大于117

 那就只能是117或者116了,我们经过测试,发现是117

 对应ascii表为“”u“,正好是users表的首字母

猜你喜欢

转载自www.cnblogs.com/pangsong/p/12242773.html