目录
一,涉及到的函数
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()
将括号内数据用第一个字段连接起来
如果想要执行多次:
当然,如果在实际进行注入的时候不知道是否存在某些表。我们可以用information_schema.tables这个表格
SELECT concat_ws('-',(SELECT DATABASE()),floor(rand()*2)) FROM users
as别名,group by分组
分为了两组,方便后续统计数量
count()
汇总统计数量
但是我们想要在此会报错,接下来我们来了解一下报错的原理
报错原理
rand()函数进行分组group by和统计count()时可能会多次执行,导致键值key重复,从而导致报错
在实际的注入过程会用到: