一、原理
利用COUNT(), FLOOR(), RAND(), 和 GROUP BY来生成主键重复错误
函数解释
-  count(): 这个函数用于计算满足某一条件下的行数,是SQL中的一个聚合函数,常用于统计查询结果中的记录数。
-  floor(): 向下取整函数,可以将其参数值向下舍入到最接近的整数。
-  rand(): 生成一个0到1之间的随机浮点数。每次调用时,都会产生一个新的随机数。
-  group by: 用于结合聚合函数,按照一个或多个列对结果集进行分组。在使用group by时,select语句中只能包含聚合函数或在group by子句中声明的列。
二、注入示例
以靶场的第五关做演示:http://127.0.0.1/sqlilabs/less-5/?id=1
爆库
?id=1' and (select 1 from (select count(*),concat(0x23,(database()),0x23,floor(rand(0)*2)) as x from information_schema.`columns`