SQL注入 - 利用报错函数 floor 带回回显

一、原理

利用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`

你可能感兴趣的:(Web安全渗透,sql,数据库)