Se me dio el control sobre la variable $ vote (en la función "desafío")
¿Hay alguna forma de sql inyectar la consulta? (Por cierto, puedo ver / leer lo que la función de desafío devuelve, por ejemplo, los errores de SQL.
Me las arreglé para inyectar el sql pero no pude encontrar una manera de anular la parte $vote
+ 1 ", por lo que cualquier intento de inyectar conduce a un error de sintaxis.)
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!';
}