1. ?sort=1正常回显,?sort=1 desc 倒叙回显,?sort=1' 没有回显,也没有爆出错误信息。那么判断是整数型注入不需闭合
2.既然没有报错信息那就不能报错注入了,这怎么办?
这里我介绍一个新的思路,rand()函数登场, 它是个随机函数,返回0~1间的小数。使用时也可以给定参数值(随机种子),相同的参数生成的结果也相同。因为mysql是弱类型语言,他会把 数据返回真视为1,返回假视为0,如下面
可以看到 rand(0) 与 rand(1) 的值是不一样的
那么我们把rand(0) 和rand(1) 作为排序依据会怎样呢?
rand(0),可以看到它把第二列作为排序依据。
rand(1),可以看到它把第三列当作排序依据
那么基于这个原理呢,我们就可以使用rand()进行盲注
正确回显
错误回显
考虑到手动分析会比较麻烦,所以要运用到burpsuite进行爆破。但是发现正常回显跟错误回显的返回包长度一样,因为虽然排序变了,但里面的数据却没变,所以长度一样,那么这时候就需要用到另一个函数 limit, 我们在rand() 后面加上limit 1,表示值显示一行,这样一来正确回显跟错误回显的内容不一样,返回包长度也自然不一样了。
这样就可以使用burpsuite尽情的奔跑了。
[…] 具体原理参考这题 […]
1
1