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重复,从而导致报错

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值