Descrivere un attacco SQL injection

February 22

Descrivere un attacco SQL injection


I database che utilizzano Structured Query Language, o l'architettura SQL, offrono agli utenti la possibilità di database buon mercato Web-friendly, e molti siti web si basano su database SQL per memorizzare le informazioni. Nonostante la popolarità di questi strumenti web, gli hacker possono utilizzare tecniche come attacchi di SQL injection per manipolare database e anche abbattere interi siti web.

Funzione

Siti web spesso interagiscono con i database sullo stesso server web, e molti siti Web utilizzano linguaggio di interrogazione strutturato per archiviare e recuperare dati. Molti web designer, secondo il sito web di programmazione del sito Point, utilizzano forme di sollecitare l'input da parte degli utenti e interrogare il database con le informazioni fornite dall'utente. L'Hypertext Markup Language o HTML, forma poi passa queste informazioni al database per eseguire una funzione prevista. Invece di informazioni legittime, però, gli hacker più esperti possono immettere i comandi SQL in questi campi del modulo web e, a seconda del codice di programmazione degli hacker, questi comandi possono eseguire una varietà di funzioni che vanno dalla conferma le informazioni per eliminare l'intero database. Dato che queste intrusioni lavorano iniettando codice in campi altrimenti innocui passati a un database SQL, le attività degli hacker sono noti come attacchi di SQL injection.

tipi

attacchi di SQL injection variano da cieca e passiva di dannoso e attiva. Sito Point ha descritto un attacco passivo cieco in cui gli utenti utilizzati script di log-in di un sito web per verificare che il sito avrebbe accettato un nome utente specifico. In questo attacco, un hacker non hanno familiarità con il sito indovinato un nome utente comune e ha fornito un codice di valutazione di SQL che restituisce una risposta di "True". Quando il sito passa queste informazioni al database, il database ha restituito un elenco di corrispondenza nomi utente con una password popolata. In un articolo del 2007, consulente di software Stephen Friedi descritto un attacco attivo dannoso in cui un hacker utilizzato il codice SQL di un sito web log-in forma per creare un nuovo account utente sul sito. In questo attacco, l'hacker è entrato un campo nullo con un comando valido SQL "Inserisci" per creare un nuovo record utente.

effetti

Gli effetti di un attacco SQL injection variano notevolmente a seconda intenzioni dell'hacker. In un attacco passivo, un hacker può semplicemente confermare un account utente o di recuperare un elenco di dati di rivendere sul mercato nero. In un attacco più dannoso, un hacker può utilizzare tecniche di iniezione SQL per modificare i record nel database o anche cancellare intere tabelle. Se l'hacker cancella una tabella che memorizza le informazioni di pagamento, ad esempio, l'azienda sia più in grado di raccogliere il pagamento da parte dei clienti. Se l'hacker cancella un tavolo necessario per il funzionamento sito web, il sito può restituire un errore quando i visitatori tentano di accedere alla pagina.

Precauzioni

Anche se nessun database web-connected può essere completamente protetto, Friedi offerto diverse precauzioni webmaster possono utilizzare per evitare attacchi di SQL injection. Web designer dovrebbe utilizzare le valutazioni condizionali per disinfettare l'input dell'utente, utilizzando il codice sotto forma sito web per non consentire di ingresso che non rientra in un formato predefinito. Microsoft consiglia di prendere la sicurezza di un ulteriore passo avanti per mettere in atto diversi strati di convalida, oltre a prevenire la concatenazione di più query. Convalidando l'input dell'utente e vietando il database di accettare comandi che gli hacker entrano dopo domande valide, gli amministratori di database possono contrastare un gran numero di attacchi SQL injection.