zoukankan      html  css  js  c++  java
  • sqli-labs Less50-less53

    Lesson 50  GET - Error based - Numeric - ORDER BY CLAUSE - Stacked injection

    (1)先测试

      ?sort=1

      SELECT * FROM users ORDER BY 1

      乍一看,与46关没有什么区别

      查看一下源代码

       使用的是这个函数进行处理

      而48关则用的是这个函数

      我们看一下有什么不同的地方

      ***

      mysqli_fetch_assoc() 函数从结果集中取得一行作为关联数组。

      注释:该函数返回的字段名是区分大小写的。

      mysqli_multi_query() 函数执行一个或多个针对数据库的查询。多个查询用分号进行分隔。

      而本关使用的是mysqli_multi_query()函数,说明可以使用堆叠注入。

    (2)我们有多种方法可以测试,这里只展示一种(报错注入,其他看总结)

    (3)报错注入

      ?sort=1 and updatexml(1,concat(0x7e,(database())), 1)

      Lesson 50结束

    Lesson 51  GET - Error based - String - ORDER BY CLAUSE - Stacked injection

    (1)先测试

      ?sort=1

      SELECT * FROM users ORDER BY '1'

       显示正常,1被单引号包裹。这是它和50关唯一不同的地方。其他均相同,不再展示。

      Lesson 51结束

    Lesson 52  GET - Blind based - Numeric - ORDER BY CLAUSE - Stacked injection

    (1)先测试

      ?sort=1

      SELECT * FROM users ORDER BY 1

       显示正常,1没有被包裹。看看与50关有何不同

    (2)输入一个错的

      ?sort=1'

       从这可以看出,这是盲注,不会返回错误信息,所以无法使用报错注入。

       我们可以使用时间注入或者堆叠注入(一句话木马)

      Lesson 52结束

    Lesson 53  GET - Blind based - String - ORDER BY CLAUSE - Stacked injection

    (1)先测试

      ?sort=1

      SELECT * FROM users ORDER BY '1'

       显示正常,1被单引号包裹。这是唯一与52关不同的地方。

    2)继续测试

       能看出是盲注,无法进行报错注入

      Lesson 53结束

  • 相关阅读:
    记录下我的阿里云centos服务器之路
    git-ftp 用git管理ftp空间
    标准插件写法
    函数防抖 主要用于限制高频触发事件函数的执行间隔
    js 各进制前缀 及 转换
    微信 小程序 canvas
    微信 小程序 drawImage wx.canvasToTempFilePath wx.saveFile 获取设备宽高 尺寸问题
    canvas画布在主流浏览器中的尺寸限制
    js的一些坑,持续增加,学习js应该注意的问题
    js => ES6一个新的函数写法
  • 原文地址:https://www.cnblogs.com/zhaihuijie/p/12601547.html
Copyright © 2011-2022 走看看