Sto lavorando a un'applicazione web vulnerabile all'iniezione SQL nella sua casella di ricerca. Utilizza ASP.Net (C #) e Microsoft SQL Server.
Nella casella di ricerca richiede:
Select Column1 from TBL where Column2 = N' Here The Search box Content ';
Come puoi vedere il codice sopra è completamente vulnerabile a SQLi.
Quello che ho fatto per mitigare questo è stato solo creando un metodo per sostituire tutto '
con ''
che in SQL Server significa che è una singola citazione.
Quindi, se un utente inserisce qualcosa come ' order by --
nella casella di testo, la funzione di sostituzione la sostituirà con Replace("'","''");
e SQL Server non eseguirà mai l'SQL iniettato dell'aggressore.
Quindi voglio solo sapere che sono completamente al sicuro da SQLi? O c'è un modo per aggirare la mia protezione dell'iniezione?