zoukankan      html  css  js  c++  java
  • 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表的首字母

  • 相关阅读:
    bzoj 1176 cdq分治套树状数组
    Codeforces 669E cdq分治
    Codeforces 1101D 点分治
    Codeforces 1100E 拓扑排序
    Codeforces 1188D Make Equal DP
    Codeforces 1188A 构造
    Codeforces 1188B 式子转化
    Codeforces 1188C DP 鸽巢原理
    Codeforces 1179D 树形DP 斜率优化
    git commit -m "XX"报错 pre -commit hook failed (add --no-verify to bypass)问题
  • 原文地址:https://www.cnblogs.com/pangsong/p/12242773.html
Copyright © 2011-2022 走看看