Come proteggersi SQL Injection su un campo Indirizzo in ASP.Net

February 13

Come proteggersi SQL Injection su un campo Indirizzo in ASP.Net


SQL injection è una tecnica utilizzata per inserire gli apostrofi nelle query SQL create dinamicamente. L'apostrofo è visto come un terminatore di stringa in SQL. La casella di testo indirizzo in un modulo Web richiede apostrofi, ma lascia anche il database aperto per l'iniezione SQL quando l'attaccante termina maliziosamente la stringa SQL e aggiunge codice indesiderato. SQL injection lascia il database aperto per le tabelle perdute, i dati rubati e il furto di identità degli utenti. Evitare questo problema in ASP.NET modificando un singolo apostrofo due valori apostrofo. Questo è visto come un letterale in SQL.

istruzione

1 Creare una variabile ASP che contiene i dati degli indirizzi dal modulo online. Il codice seguente crea una variabile stringa per il valore indirizzo:

stringa customerAddress;

2 Assegnare la variabile indirizzo il valore immesso dal vostro lettore di sito web. Il codice seguente assegna una casella di testo form denominato \ "frmAddress \" al \ "customerAddress \" variabile:

customerAddress = customerAddress.Text.Trim ()
ANDARE

Il \ "Trim () \" funzione viene utilizzata per eliminare eventuali spazi iniziali o finali.

3 Scrub il valore di indirizzo e sostituire un singolo apostrofo con un doppio apostrofo. apostrofi doppie sono visti da SQL come un apostrofo letterale, in modo un hacker è in grado di terminare la stringa e iniettare codice dannoso. La funzione seguente crea un doppio apostrofo da una sola:

customerAddress = customerAddress.Replace (\ " '\", \ "' '\");

4 Stampa i risultati per testare il codice. Il codice seguente stampa i risultati sullo schermo:

Response.Write (customerAddress)
ANDARE

In questo esempio, se un hacker malintenzionato entra nel seguente codice nella casella di testo:

123 nessuna parte '; eliminare cliente tavolo

Il valore viene modificato:

123 nessuna parte ''; eliminare cliente tavolo

Questa tecnica si ferma un hacker di inserire codice dannoso, in quanto l'apostrofo è preso come un valore letterale di un l'intera stringa viene inserito come indirizzo per il cliente.