Nwlapcug.com


Quali sono alcuni esempi di un attacco SQL Injection?

Quali sono alcuni esempi di un attacco SQL Injection?


Molte delle imprese Web siti sono sono vulnerabili agli attacchi SQL injection perché dipendono dal linguaggio di programmazione SQL per l'accesso al database. Web Form passare informazioni ai programmi del sito, che usano SQL per elaborare i dati. Gli utenti senza scrupoli possono digitare codice SQL nel modulo Web e trucco il sito nel divulgare informazioni riservate o causando danni. Se i programmatori del sito controllare attentamente i dati in arrivo, essi possono impedire questo happenning.

Come funziona SQL Injection

Un Web form contiene campi di testo in cui l'utente digita il suo nome, indirizzo e altre informazioni. La pagina del modulo passa i dati a una seconda pagina che li elabora in un database utilizzando la Structured Query Language, o SQL. Se l'utente immette il codice SQL nel campo dell'indirizzo, ad esempio, il server di database SQL elabora il codice, causando problemi.
Siti Web commerciali avete di registrare con un ID utente e password prima di darvi accesso. Tuttavia, la gente dimentica le password, quindi la maggior parte dei siti hanno una pagina che ti invia la password via e-mail. Poiché la programmazione del sito Cerca le password in un'istruzione SQL prima email a voi, è un luogo maturo per un attacco SQL injection. Un utente malintenzionato non ha bisogno di un account sul sito per l'attacco al lavoro; il programma Web elabora tutte le richieste a prescindere se siano legittimi o no.

Indovinare i nomi dei campi

Digitando la stringa "abc" e fieldname è NULL; ... ", meno le virgolette, nel campo ID utente di un modulo di promemoria della password, un utente malintenzionato può indovinare i nomi dei campi nella tabella utenti registrati del sito. Un nome di campo errato produce un messaggio di errore, ma ti permette di provare di nuovo; Indovina vi porta a una pagina che indica il tuo ID utente non è valido, ma consente anche di provare di nuovo. Un numero di conto legittimo diventa parte di un comando SQL, come questo: "selezionare password FROM user_table WHERE account_id = 'jimmy123'" utilizzando la stringa di cui sopra, il comando diventa il seguente: "selezionare password FROM user_table dove account_id = 'abc' AND fieldname è NULL; -' "Entrambi sono istruzioni SQL valide; la seconda si rivela informazioni che il proprietario del sito non intenzione di condividere.

Indovinare i nomi di tabella

Un hacker può utilizzare la tecnica precedente per indovinare altre preziose informazioni, ad esempio i nomi delle tabelle nel database del sito. In questo caso, un approccio è quello di digitare la stringa seguente in un campo di testo: "abc" e (SELECT COUNT(*) from tablename) = 1; --.” Sostituendo i nomi diversi per "tablename", lei indovinerà alla fine correttamente alcuni dei nomi di tabella del database. Come prima, le congetture errate semplicemente come risultato un messaggio di errore innocuo; Se non vedete alcun errore, avete indovinato correttamente.

Modifica di database

Un database mal progettato dà tutti i suoi utenti lo stesso livello di sicurezza, consentendo agli utenti di Web per fare qualsiasi cosa, tra cui modifica il database stesso. Un tipo di modifica di database di attacco utilizza la stessa strategia di base, come prima, digitando il codice SQL in una casella di testo Web. Una volta che un utente malintenzionato ha indovinato correttamente alcuni dei nomi di tabella del database, può quindi cercare la seguente stringa di testo: "abc"; DROP TABLE tablename; -"SQL server interpreta questo come un comando per trovare un ID utente seguito da un secondo comando per eliminare una tabella dal database. Se questo non funziona, il sito può dare un messaggio di errore. In caso contrario, verrà indicano devi avere un ID utente non valido, e avrete tolto la tabella.