Se si dispone di un'applicazione Web ASP.NET con un database SQL Server, è sicuro assumere che se un attacco SQL Injection verrà eseguito passerà attraverso un'istanza della classe SqlCommand
?Un attacco di SQL Injection può essere eseguito tramite qualcosa di diverso da SqlCommand?
Background:
mi trovo in una situazione in cui ho ereditato una piuttosto grande applicazione web che ha alcune vulnerabilità di SQL Injection. Ne ho trovate diverse semplicemente esaminando il codice per altri problemi, ma mi chiedo se un modo sicuro per trovare tutte le vulnerabilità di SQL Injection sia cercare tutti i file per le istanze di SqlCommand
e quindi controllare se sono query parametrizzate. È un piano solido?
Quest'ultimo bit è molto importante se stai parlando del progetto di qualcun altro. Se ci sono sprocs, devi controllarli accuratamente. Solo perché i dati sono già nel db non significa che sia sicuro concatenare in un comando sql. – Wedge
Ottima risposta! Ultima domanda: se un attacco di iniezione dovesse avvenire a livello di SQL Server dovrebbe essere fatto attraverso l'uso di 'EXEC'? –