Categories: Tutorials

Come prevenire gli attacchi di SQL injection nel 2021-Proteggere i database SQL

C'è solo un motivo per cui sei arrivato su questa pagina. Per proteggere il tuo database , giusto? Bene, abbiamo la guida migliore per mostrarti come prevenire attacchi SQL Injection .

SQL injection abbreviato in Structured Query Language Injection è un tecnica di hacking che è stata scoperta circa quindici anni fa ed è ancora oggi devastantemente efficace. È considerata una delle principali priorità di sicurezza del database. Questo è stato utilizzato nelle elezioni USA 2016 per compromettere i dati personali di circa 200.000 elettori. L'iniezione SQL è stata utilizzata anche contro organizzazioni specifiche come PBS, Microsoft, Yahoo e Sony Pictures, Heart Land, Payment System e persino la CIA.

L'SQL è un linguaggio di controllo e comando utilizzato per database relazionali come Microsoft SQL Server, Oracle e MySQL. Oggi, grazie allo sviluppo Web moderno, questi database vengono utilizzati sul back-end delle app Web e dei sistemi di gestione dei contenuti scritti in PHP, ASP.NET e altri linguaggi di scripting. Quindi, da ciò, concludiamo che sia il comportamento che il contenuto di più siti Web sono basati sui dati in un server di database.

Qualsiasi attacco riuscito verso un database utilizzato per guidare un'app Web o un sito Web come l'attacco di bypass dell'account di accesso SQL injection fornisce all'hacker molto potere. Dall'acquisizione di informazioni sensibili che includono comandi di database aziendali interni o credenziali dell'account alla modifica del contenuto del sito Web (deturpazione) è tutto ciò che possono fare e mantenere. L'elenco dei comandi di SQL è probabilmente lo stesso dell'elenco dei comandi del database. Include quelli potenzialmente catastrofici come la tabella Drop.

Prepararsi a proteggere il database SQL

La prima cosa che devi fare per prevenire un'iniezione SQL l'attacco è visto quali applicazioni sono vulnerabili. Il modo migliore e più semplice per farlo è attivare i tuoi attacchi per vedere che hanno successo o meno. Poiché SQL è un linguaggio complesso e impegnativo, non è un compito banale costruire frammenti di codice che potrebbero essere iniettati o inseriti in una query per tentare di compromettere un database.

Bene, la parte migliore di questo è che tutto ciò non è necessario, tutto ciò che puoi fare è eseguire uno strumento di attacco SQL injection automatizzato, e questo farà tutto il lavoro per te.

Abbiamo un esempio che possiamo vedere qui. È Havij, è anche uno strumento sviluppato da professionisti della sicurezza iraniani. Puoi indicarlo a un potenziale obiettivo e Havij esaminerà il sito per determinare quale tipo di database è in uso. Sulla base di ciò, crea quindi query specifiche per esaminare le caratteristiche del database. Qui è richiesta poca o nessuna competenza SQL da parte dell'utente.

Havij può estrarre campi, tabelle e talvolta persino dump di dati completi da una destinazione. Havij è una funzionalità di correzione degli errori utilizzata per aiutare l'utente a rimuovere alcune delle vulnerabilità che trova. Puoi ottenere Havij in una versione gratuita e anche nella versione commerciale completa.

Abbiamo anche altri strumenti di SQL injection automatizzati che sono SQLmap e jSQL. Il Tyrant SQL è una versione GUI della mappa SQL. Questi strumenti vengono utilizzati per eseguire un potente attacco SQL injection, che altrimenti sarebbe limitato solo agli esperti, nelle mani di chiunque abbia voglia di attaccare le tue app. Pertanto, è meglio testare le tue applicazioni con l'aiuto di questi strumenti e quindi correggere qualsiasi vulnerabilità che scoprono prima che un malintenzionato le scopra.

Controlla anche: Come proteggerti dai virus ransomware.

Come prevenire gli attacchi SQL injection per mantenere i tuoi database al sicuro

Tu puoi impedire a te stesso l'attacco SQL injection adottando i seguenti passaggi:

  • Non dovresti fidarti di nessuno

Supponi che tutti i dati inviati dall'utente sono terribili, quindi usa la convalida dell'input tramite una funzione come mysql_real_escape_string di MySQL per assicurarti che i caratteri pericolosi non vengano passati alla query SQL nei dati. È inoltre necessario pulire tutto filtrando i dati utente in base al contesto. Ad esempio, è necessario filtrare indirizzi e-mail e numeri di telefono per la massima sicurezza.

  • Non utilizzare SQL dinamico

Non è necessario creare query con l'input dell'utente. Anche la pulizia dei dati può essere difettosa, quindi è necessario utilizzare istruzioni preparate, domande parametrizzate o procedure memorizzate quando possibile. Tieni presente che le stored procedure non sono in grado di prevenire tutti gli attacchi di SQL injection, quindi non è necessario fare affidamento interamente su di esse.

  • È necessario aggiornare e applicare patch frequentemente

Le vulnerabilità che si trovano nelle applicazioni e nei database vengono scoperte regolarmente, quindi è meglio applicare patch e aggiornamenti il ​​prima possibile. Potrebbe valere la pena investire.

Controlla anche: 6 migliori strumenti di SQL Injection gratuiti da scaricare per i database di hacking.

Usa un WAF ( Web Application Firewall) per prevenire attacchi SQL injection

Il WAF viene utilizzato per fornire protezione e sicurezza contro una nuova vulnerabilità prima che sia disponibile una patch.

  • Devi ridurre la superficie di attacco

Devi sbarazzarti di tutte le funzioni di database che non richiedono a un hacker per trarne vantaggio. Ad esempio, ci occupiamo della stored procedure estesa xp_cmdshell in MSSQL. Viene utilizzato per generare la shell dei comandi di Windows e quindi passare una stringa per l'esecuzione. Questo in effetti potrebbe essere molto utile per l'hacker. Ha gli stessi privilegi di sicurezza dell'account del servizio del server SQL.

  • Devi utilizzare i privilegi appropriati

Senza alcun motivo , non dovresti connettere il tuo database utilizzando un account con diritti a livello di amministratore. Quando utilizzi un account ad accesso limitato, diventa molto più sicuro e può limitare ciò che può fare un hacker

  • Dovresti mantenere segreti i tuoi segreti

Devi presumere che la tua app non sia protetta o protetta e quindi agire di conseguenza crittografando password e altri dati privati, comprese le stringhe di connessione.

  • Non è necessario fornire più informazioni di quelle richieste

Gli hacker possono imparare e ottenere molto dai messaggi di errore, quindi assicurati che visualizzino poche informazioni. È necessario utilizzare la modalità di errore personalizzata solo remota per fornire e pubblicare brevi messaggi di errore sulla macchina locale e assicurarsi che qualsiasi hacker esterno non ottenga nient'altro che il fatto che le sue azioni hanno prodotto un errore non gestito.

Controlla anche: Come proteggere la tua rete dagli attacchi DDoS.

  • Tieni d'occhio le istruzioni SQL

Questo aiuterà a identificare le vulnerabilità e le dichiarazioni sbagliate di SQL. Gli strumenti di monitoraggio che possono utilizzare l'analisi comportamentale, tuttavia, possono essere utili.

  • Devi acquistare un software migliore

Puoi dare la responsabilità agli autori del codice di controllare il codice e correggere i difetti di sicurezza nelle applicazioni personalizzate prima che il software venga consegnato.

Controlla anche: Quanto è sicuro e protetto Dropbox e quanto è sicuro da usare?

Parole finali

SQL è un linguaggio comune utilizzato principalmente per i database. Oggi vi abbiamo mostrato come prevenire gli attacchi di SQL injection . Segui i modi sopra menzionati e rendi i tuoi dati protetti e protetti. Se hai trovato utile questo articolo, lascia commenti nella sezione sottostante. Spero che ora tu sia protetto dagli attacchi SQL . Puoi imparare come hackerare le password dei server SQL guardando il nostro tutorial per vedere come avvengono questi attacchi.

adminguides

Recent Posts

Risolto dopo l'aggiornamento di Windows 11, lo strumento di cattura non funziona

Microsoft ha rilasciato il sistema operativo Windows 11 di nuova generazione nell'ultimo mese di ottobre…

2 anni ago

Correggi un errore di masterizzazione disco non trovato durante la masterizzazione di un'immagine

Sembra che alcuni degli sfortunati utenti di Windows stiano riscontrando l'errore "Un masterizzatore di dischi…

2 anni ago

Correggi l'errore danneggiato del file Adcjavas.Inc

Windows ha un'utilità integrata chiamata System File Checker o SFC che esegue la scansione dell'intero…

2 anni ago

Correggi l'errore 0X0000013C INVALID_IO_BOOST_STATE

Il sistema operativo Windows è la piattaforma più popolare per scopi didattici e lavorativi ampiamente…

2 anni ago

Correzione dell'errore 0x800f0825 Impossibile disinstallare il pacchetto permanente

FIX 2: eseguire un ripristino del sistema:FIX 3: Esegui Controllo file di sistema:FIX 4: Aggiorna…

2 anni ago

Risolto il problema con il suono di Acer Nitro 5 non funzionante, crepitio dell'audio o basso

Il Nitro 5 è un ingombrante laptop da gioco da 2,4 kg, come è tipico…

2 anni ago