大家好,我正在阅读有关盲SQL注入的一本无书。
该书的作者提到,如果要触发mysql中的错误
使用此查询并将其注入目标
1 and (select 1 from (select count(*),concat(/*your malicious query here*/,floor(rand(0)*2)x from users group by x) a)
他说(作者)在count(*)上group by "floor(rand(0)*2)"导致内部表中有重复的键并显示该键
count(*)
group by "floor(rand(0)*2)"
我的问题:首先,为什么他把x放在那里?
第二的是在内部表错误,什么查询导致它的其他那么这一个,以及如何重复键count(*)上的group by "floor(rand(0)*2)"原因,它的出现
x是表达式的别名floor(rand(0)*2),因此可以作为引用GROUP BY x。
x
floor(rand(0)*2)
GROUP BY x
“内部表中的重复键”听起来像是对MySQL错误的描述,该错误在尝试处理此查询时发生。