当前位置: 首页 > news >正文

SQL注入——floor报错注入

目录

一,涉及到的函数

rand()

floor() 

 concat_ws()

 as别名,group by分组

count()

报错原理


一,涉及到的函数

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

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

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

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

as:别名

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

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

rand()

随机返回0~1间的小数

根据users表里面有多少行,rand()就计算多少次

select rand() from users

floor() 

小数向下取整。

结果随机返回0,1

根据from后面的表中有多少行,前面的函数就执行多少次

select floor(rand()*2) from information_schema.tables;

 concat_ws()

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

SELECT concat_ws('-',(SELECT DATABASE()),floor(rand()*2))

如果想要执行多次:

当然,如果在实际进行注入的时候不知道是否存在某些表。我们可以用information_schema.tables这个表格

SELECT concat_ws('-',(SELECT DATABASE()),floor(rand()*2)) FROM users

 

 as别名,group by分组

分为了两组,方便后续统计数量

count()

汇总统计数量

但是我们想要在此会报错,接下来我们来了解一下报错的原理

报错原理

rand()函数进行分组group by和统计count()时可能会多次执行,导致键值key重复,从而导致报错

 在实际的注入过程会用到:

 

http://www.lryc.cn/news/33766.html

相关文章:

  • P6入门:在EPS下创建项目(P6Professional)
  • Linux安装及管理应用和账号和权限管理 讲解
  • 【JDK1.8 新特性】Stream API
  • Springboot Maven打包跳过测试的五种方式总结 -Dmaven.test.skip=true
  • 静态链接和动态链接的区别
  • MATLAB学习笔记1
  • Gorm -- 查询记录
  • 「Python 基础」错误、调试与测试
  • 17万字 JUC 看这一篇就够了(一) (精华)
  • C++右值引用/移动语义
  • 小樽C++ 多章⑧ (叁) 指针与字符串、(肆) 函数与指针
  • Mybatis-Plus
  • yolov8行人识别教程(2023年毕业设计+源码)
  • CAD指令框找不到了怎么调出来?CAD指令框调出方法
  • 一般用哪些工具做大数据可视化分析?
  • Python每日一练(20230308)
  • jvm之堆解读
  • 重构·改善既有代码的设计.02
  • 脑电信号处理总成
  • 判断推理之图形推理
  • 【预告】ORACLE Unifier v22.12 虚拟机发布
  • Sql执行流程与Redo log、 Undo log、 Bin log日志文件
  • 如何提高软件测试执行力
  • Open3D 计算点到平面的距离
  • DDD领域驱动设计初探
  • C中AES_cbc_encrypt加密对应java中的解密
  • 演化算法:乌鸦搜索算法 (Crow Search Algorithm)
  • 基于open62541的OPC UA服务器和客户端开发技术
  • 测试测开面试要知道的那些事01
  • 物联网毕设 -- 智能厨房监测系统(改)