学习笔记 MYSQL报错注入(count()、rand()、group by)
首先看下常见的攻击载荷,如下:
select count(*),(floor(rand(0)*2))x from table group by x;
然后对于攻击载荷进行解释,
floor(rand(0)*2) 查询表中内容大于等于3条会报错。一部分原因,因为floor(rand(0)*2)是有规律和固定的。
如果不理解,可以用数据库做下实验。select floor(rand(0)*2) from table ,数据量最好10条左右。你会发现一串0110110011……有规律的数字。
再然后select count(*) from table group by x,这句话再MYSQL中执行,会建立虚拟表,虚拟表用来统计。
例如:表中有a字段12条,语句会逐一在虚拟表中累加计数,统计结束后返回。
最后看下select count(*) from table group by floor(rand(0)*2),查询过程。
由于floor(rand(0)*2)是有规律的(011011001110....),语句会多次执行,伪代码如下:
1、select count(*) from table group by 0
2、select count(*) from table group by 1
3、select count(*) from table group by 1
4、select count(*) from table group by 0
5、select count(*) from table group by 1
......
第一次为0跳过,第二次为值为1计数1,第三次值为1计数2,第四为0跳过,第五次值为1,新插入数据(因为第四次是0),由于新插入数据主键键值与之前的主键键值相同所以报错。
具体攻击载荷,请见https://www.waitalone.cn/mysql-error-based-injection.html
学习笔记 MYSQL报错注入(count()、rand()、group by)的更多相关文章
- MySQL报错注入函数汇总及常用注入语句
版权声明:本文转载自网络内容,下面附原创链接原创链接:https://blog.csdn.net/Auuuuuuuu/article/details/91415165 常用函数 字符串连接函数,将多个 ...
- Mysql报错注入原理分析(count()、rand()、group by)
Mysql报错注入原理分析(count().rand().group by) 0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截 ...
- SQL注入之Mysql报错注入
--志向和热爱是伟大行为的双翼. 昨天偷懒了没学什么东西,先自我反省一下 - -. 今天认真的学习了一下Mysql报错注入利用方法及原理,好久之前就像认真的学一下这个了,是在上海市大学生网络安全大赛中 ...
- SQL注入之MySQL报错注入整理
看大佬们的文章看得我虎躯一震,精神抖擞,于是心血来潮,整理一下MySQL报错注入常见的手段和方法,再举几个例子 <代码审计:企业级Web代码安全架构>一书中介绍过报错注入十大方法,依次是: ...
- mysql报错注入手工方法
以前觉得报错注入有那么一长串,还有各种concat(),rand()之类的函数,不方便记忆和使用,一直没怎么仔细的学习过.这次专门学习了一下,看了一些大牛的总结,得到一些经验,特此记录下来,以备后续巩 ...
- 【菜鸟学注入】之MySQL报错注入详解
本文转自:http://bbs.blackbap.org/forum.php?mod=viewthread&tid=6483&highlight=mysql%2B报错注入 用SQL注入 ...
- MySQL报错注入总结
mysql暴错注入方法整理,通过floor,UpdateXml,ExtractValue,NAME_CONST,Error based Double Query Injection等方法. 报错注入: ...
- 又一种Mysql报错注入
from:https://rdot.org/forum/showthread.php?t=3167 原文是俄文,所以只能大概的翻译一下 这个报错注入主要基于Mysql的数据类型溢出(不适用于老版本的M ...
- Mysql报错注入之floor报错详解
一.简述 利用 select count(*),(floor(rand(0)*2))x from table group by x,导致数据库报错,通过 concat 函数,连接注入语句与 floor ...
随机推荐
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...
- Linux.NET实战手记—自己动手改泥鳅(上)
各位读者大家好,不知各位读者有否阅读在下的前一个系列<Linux.NET 学习手记>,在前一个系列中,我们从Linux中Mono的编译安装开始,到Jexus服务器的介绍,以及如何在Linu ...
- Vue.js——60分钟快速入门
Vue.js介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们 ...
- Building the Testing Pipeline
This essay is a part of my knowledge sharing session slides which are shared for development and qua ...
- CSharpGL(27)讲讲清楚OpenGL坐标变换
CSharpGL(27)讲讲清楚OpenGL坐标变换 在理解OpenGL的坐标变换问题的路上,有好几个难点和易错点.且OpenGL秉持着程序难以调试.难点互相纠缠的特色,更让人迷惑.本文依序整理出关于 ...
- ABP(现代ASP.NET样板开发框架)系列之23、ABP展现层——异常处理
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之23.ABP展现层——异常处理 ABP是“ASP.NET Boilerplate Project (ASP.NET ...
- web全栈开发之网站开发一(Mac环境配置)
个人第一次写博客,想给大家分享的是PHP+HTML5+MySQL开发一个个人网站所需的部分技术,希望能帮到志同道合和开发者,别人小白高手勿喷就行 先说一下我在制作这个网站之前的配置: 我用的是MacB ...
- iOS集成sharesdk遇到的坑
分享新浪微博 ★★★分享新浪微博★★★ 前言: 写这个目地是为了记录那些过坑,直接先上效果图.大家看看如果你遇到了应该如果处理更好,因为刚一看到这个效果的时候就明白其实很简单不就是分享微博吧.但是要求 ...
- TCP同步与异步,长连接与短连接【转载】
原文地址:TCP同步与异步,长连接与短连接作者:1984346023 [转载说明:http://zjj1211.blog.51cto.com/1812544/373896 这是今天看到的一篇讲到T ...
- 将WordPress安装在网站子目录的相关问题
May182013 将WordPress安装在网站子目录的相关问题 作者:xieyc 发布:2013-05-18 00:11 字符数:3423 分类:站长 阅读: 12,054 次 ...