Pratico per l'injection sql basato sull'errore, ma non c'è alcun riferimento valido per questo.
per esempio :):
mysql> select count(*),floor(rand()*2) as a from users group by a;
ERROR 1062 (23000): Duplicate entry '0' for key 'group_key'
mysql> select count(*),floor(rand()*2) as a from users group by a;
ERROR 1062 (23000): Duplicate entry '1' for key 'group_key'
mysql> select count(*),floor(rand()*2) as a from users group by a;
+----------+---+
| count(*) | a |
+----------+---+
| 10 | 0 |
| 3 | 1 |
+----------+---+
2 rows in set (0.00 sec)
perché la prima e la seconda query non vengono eseguite?
significa il valore della prima o della seconda riga di pari con una colonna?
quindi, perché quando cambio la query non riesco a vedere alcun messaggio di errore:
mysql> select 1,floor(rand()*2) as a from users group by a;
+---+---+
| 1 | a |
+---+---+
| 1 | 0 |
| 1 | 1 |
+---+---+
2 rows in set (0.00 sec)
Non posso sottostimare la vulnerabilità di sql injection basata sull'errore e vedo anche questo link: link ma ho ancora una domanda!
Come si verifica questa vulnerabilità?
Grazie