一尘不染

mysql中的重复键错误由group()上的count(*)触发

sql

大家好,我正在阅读有关盲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)"导致内部表中有重复的键并显示该键

我的问题:首先,为什么他把x放在那里?

第二的是在内部表错误,什么查询导致它的其他那么这一个,以及如何重复键count(*)上的group by "floor(rand(0)*2)"原因,它的出现


阅读 119

收藏
2021-05-16

共1个答案

一尘不染

x是表达式的别名floor(rand(0)*2),因此可以作为引用GROUP BY x

“内部表中的重复键”听起来像是对MySQL错误的描述,该错误在尝试处理此查询时发生。

2021-05-16