Ho dato il controllo sulla variabile $ vote (nella funzione "challenge")
C'è un modo per SQL iniettare la query? (A proposito, posso vedere / leggere qualsiasi cosa restituisca la funzione challenge, ad esempio gli errori sql.
Sono riuscito a iniettare sql ma non sono riuscito a trovare un modo per annullare la parte $vote
+ 1 ", quindi qualsiasi cosa provi a iniettare causa un errore di sintassi.)
function evil($vote)
{
#Comments not allowed ]:->
#Sorry.
$vote = str_replace('#', '', $vote);
$vote = str_replace('/', '', $vote);
$vote = str_replace('*', '', $vote);
$vote = str_replace('-', '', $vote);
return $vote;
}
function challenge($vote)
{
$vote = evil($vote);
$q = "UPDATE 'sqlinjection2' SET '$vote'='$vote'+1";
$r = mysql_query($q);
if(!$r)
return mysql_error();
return 'Thanks for vote!';
}