writeup中学到的,在我的另一篇文章中会提到
基于数据类型不一致而产生的报错:mysql的一些函数参数要求的是什么数据类型,如果数据类型不符合,自然就会报错,这种报错也是相对容易理解的,根据这种特性产生的报错注入有...每次执行多次floor(rand(0)2),所得的结果也总是这样固定,我们只看前6个数字,总是0,1,1,0,1,1这样的顺序,后面的数也是如此有着自己的顺序
接下来我们构造一个sql语句,它可以报出Duplicate...,那么在往虚拟表插入数据时,floor(rand(0)2)将会再被计算一次,接下来分析,取数据表第一条记录时第一次使用group by,计算floor(rand(0)2)的值为0,查询虚拟表发现0这个主键不存在...,只不过开头的那个加了个子查询,其实and后的括号里直接写这个语句也能达到一样的效果
mysql> select * from user where id=1 and (select count(*)...: ‘root@localhost’
利用concat函数返回字符串产生报错,同样的函数还有extractvalue(1,XPATH)
mysql> select * from user where id