Mysql中int类型强制插入float型会发生什么(nctf中web ,mysql)

首先创建一个表A,只有一个列,就是a,类型设置为int

create table A(a int);

然后强制插入数据5.1和5.5

insert into A values(5.1);

insert into A values(5.5);

然后查询,select * from A;

得到以上结果,说明如果强制插入一个float型的数字后mysql不会报错,而是将它进行一定的转化,四舍五入。

而在php代码审计中,常用的漏洞有,php在判断一个整型数字为X时,显示出正确结果,但是直接输入X会被某段代码检查并过滤掉,我们就可以通过mysql的精度机制进行输入X.y这样的float,绕过检查

猜你喜欢

转载自blog.csdn.net/fengzhantian/article/details/80474330