Salve a tutti,
ho un piccolo dilemma da qualche giorno ho cercato un po' in giro ma non sono riuscito a venirne a capo. Il dilemma è l'hashing delle password mediante la funzione "password" di MySQL: non so se al momento dell'esecuzione della query viene prima eseguito l'hash di ciò che è contenuto in $password o se viene prima eseguita la query sequenzialmente creando una injection, come nell'esempio. Purtroppo per motivi legati al software sono obbligato ad usare questa funzione invece di usare un hash più comune come md5(). Ho fatto alcune prove e mi resistituisce errore, dunque dovrei pensare che la funzione password non è soggetta a injection? Oppure sì?
Aspetto maggiori informazioniCodice PHP:<?php
mysql_connect('localhost', 'root', 'root');
mysql_select_db('test');
$password = "injection') and name = 'username'";
$query = "INSERT INTO account SET password = password('{$password}')";
$res = mysql_query($query);
if ($res) {
echo 'ok';
} else {
echo 'error';
}
?>
Grazie per l'attenzione!


Rispondi quotando