Recentemente quando stavo guardando un codice che sembra più o meno come questo:
$query = "call someProcedure(?,?,{$unsafeString})";
Poi c'è un codice dove viene preparato l'elenco degli argomenti e dopo questo, viene generata una dichiarazione preparata dalla stringa query
Dato che unsafeString
proviene dall'utente, non viene convalidato o scappato e viene interpolato nella stringa di query. Mi stavo chiedendo, può essere una seria minaccia e come può essere sfruttato?
Ho provato ad aggiungere una seconda istruzione alla fine, ma sembra che le istruzioni preparate mi consentano di eseguire solo la prima query e ho anche provato a utilizzare la selezione select per ottenere alcuni valori da dB, ma sembra che alcune stored procedure non consentano fallo.
Quindi mi stavo chiedendo, posso affermare che questo è sicuro? o ci sono alcune possibilità di sfruttarlo?