Recientemente, cuando estaba mirando a través de un código que se parece más o menos a esto:
$query = "call someProcedure(?,?,{$unsafeString})";
Luego hay algún código donde se prepara la lista de argumentos y después de eso, se genera una declaración preparada a partir de la cadena query
Dado que unsafeString
proviene del usuario, no se está validando ni escapando y se interpola en la cadena de consulta. Me preguntaba, ¿puede ser esto una amenaza seria y cómo puede ser explotada?
Intenté agregar una segunda instrucción al final, pero parece que las declaraciones preparadas me permiten ejecutar solo la primera consulta y también intenté usar la instrucción de selección para obtener algunos valores de dB, pero parece que algunos procedimientos almacenados no permiten haz eso.
Entonces me preguntaba, ¿puedo decir que esto es seguro? ¿O hay algunas posibilidades para explotarlo?