• 基于时间型SQL盲注


    1 基于时间型SQL盲注

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

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

    产生一个疑问: 注入的SQL 代码到底被后台数据库执行了没有? 即web 应用程序是否存在SQL 注入?
    面对这种情况, 之前讲的基于布尔的SQL 盲注很难发挥作用了( 因为基于布尔的SQL 盲注的前提是web 程序返回的页面存在true 和false 两种不同的页面) 。这时, 一般采用基于web 应用响应时间上的差异来判断是否存在SQL 注入, 即基于时间型SQL 盲注。

    1.1 sleep()函数——延时函数

    在MySQL中, sleep() 函数语法如下:

    sleep(seconds) ,即sleep() 函数代码执行延迟若干秒。 Sleep() 函数执行是有条件的,必须保障sql语句执行结果存在数据记录才会停止指定的秒数,如果sql 语句查询结果为空,那么sleep() 函数不会停止。 S1eep 函数执行停留后,执行后返回值为0

     

     通过逻辑判断控制sleep()函数的执行

     

    1.2 逻辑判断函数if()

    在基于时间型SQL盲注中, 经常使用条件语句来判断操作是否正确:
    if condition then do_someing else do_something_elsell 即如果某条件发生, 那么执行语句一, 否则, 执行语句二
    在MySQL中, if () 函数语法如下:

    • IF(expr1 ,expr2 ,expr3) 如果expr1 为真, 则IF() 函数执行expr2 语句; 否则IF() 函数执行expr3 语句。

    输入:

    • select user from users where user_id=1 and1=if(ascii (substr(database(),11))>1,sleep(5),1);  //这里如果条件ascii (substr(database(),11))>1成立, 则执行sleep(5) , 否则执行1

    1.3 BENCHMARK()函数

    在MySQL中, BENCHMARK()函数语法如下:
    BENCHMARK(count,expr) 即BENCHMARK()函数重复执行表达式expr  count 次,实际表现就是查询延迟。可配合if 函数,实现延迟的注入判断。
    构造输入如下:

    • select user from users where user_id=1 union select if (ascii (substring(database(),1,1))>100,BENCHMARK(500000000,encode('MSG' ,'by 5 seconds' )),1);

     

    1.4 注入思路:

    基于时间盲注的一般思路是延迟注入,说白了就是利用sleep()或benchmark()等函数让mysql执行时间变长并结合判断条件语句if(expr1,expr2,expr3),然后通过页面的响应时间长短来判断语句返回的值是TRUE还是False,从而猜解一些未知的字段。

    注入流程(以获取数据库版本信息为例):

    1.  确定注入点及注入类型
    2.  使用if判断语句,猜测version()的长度并用sleep函数作为判断依据
    3.  重复步骤2直至获取真正长度
    4.  使用if判断语句,猜测version()的第一个字符的ascii码并使用sleep函数作为判断依据构造注入语句,
    5.  重复步骤4,直至获取全部长度的版本字符的ascii码

     

  • 相关阅读:
    未来的计划和考虑
    jquery 常用的方法
    对于页面动态加载的元素事件无效的解决方案
    Myeclipse8.5中svn插件安装方法总结
    JS读RSS
    JAVA的RSS处理
    环境:win7+ie8 IE8的F12不起作用,原因如下:
    关闭和释放JDBC
    关于Eclipse无法生成class文件的问题
    JavaScript跨域总结与解决办法
  • 原文地址:https://www.cnblogs.com/52kj/p/12422793.html
Copyright © 2020-2023  润新知