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表的首字母

  • 相关阅读:
    requests库之处理响应
    requests库之自定义request
    requests库之请求异常处理
    requests库之带参请求
    BFS广度优先
    分治模板
    递归模板
    数据机构与算法学习(三)- 数组
    消息队列学习笔记
    数据结构与算法学习(二)
  • 原文地址:https://www.cnblogs.com/pangsong/p/12242773.html
Copyright © 2011-2022 走看看