Mysql 报错注入的原理探索
今天sf0l大牛问mysql报错注入原理是什么?学名sql injection error based double query(基于双查询的报错注入),这个问题还真问住我了,google下说是mysql bug 可是这个解释大牛不接受…然后我们就研究了半天~稍微理解了一些。
本文纯从测试手段去理解稍加以猜测得出的结论,而非读源码寻找原因,如有错误,还忘指导
我们一般使用的报错语句:
1 |
select count(*),concat((select version()),floor(rand()*2))a from information_schema.tables group by a; |
concat:为聚合函数,连接字符串功能
foolr:取float的整数值
rand:取0~1之间随机浮点值,长度测试大概为1阅读全文