Un leader nel Magic Quadrant™ Gartner® 2025 per la Protezione di Endpoints. Cinque anni di fila.Leader nel Magic Quadrant™ di Gartner®Leggi il report
La tua azienda è stata compromessa?Blog
IniziareContattaci
Header Navigation - IT
  • Piattaforma
    Panoramica della piattaforma
    • Singularity Platform
      Benvenuti nella Sicurezza Aziendale Integrata
    • Come funziona
      La Differenza di Singularity XDR
    • Marketplace di Singularity
      Integrazioni con un solo clic per sbloccare la potenza di XDR
    • Prezzi e Pacchetti
      Confronti e indicazioni in sintesi
    Data & AI
    • Purple AI
      Accelerare la SecOps con l'IA generativa
    • Singularity Hyperautomation
      Automatizzare facilmente i processi di sicurezza
    • AI-SIEM
      Il SIEM AI per il SOC autonomo
    • Singularity Data Lake
      Alimentato dall'IA, unificato dal lago di dati
    • Singularity Data Lake for Log Analytics
      Ingestione dei dati da ambienti on-premise, cloud o ibridi senza soluzione di continuità
    Endpoint Security
    • Singularity Endpoint
      Prevenzione, rilevamento e risposta autonoma
    • Singularity XDR
      Protezione, rilevamento e risposta nativa e aperta
    • Singularity RemoteOps Forensics
      Orchestrare l'analisi forense su larga scala
    • Singularity || Threat Intelligence
      Intelligence avversaria completa
    • Singularity Vulnerability Management
      Scoperta di risorse illecite
    Cloud Security
    • Singularity Cloud Security
      Bloccare gli attacchi con una CNAPP basata sull'IA
    • Singularity Cloud || Native Security
      Proteggere il cloud e le risorse di sviluppo
    • Singularity Cloud Workload Security
      Piattaforma di protezione del carico di lavoro del cloud in tempo reale
    • Singularity || Cloud Data Security
      Rilevamento delle minacce potenziato dall'intelligenza artificiale
    • Singularity Cloud Security Posture Management
      Rilevare e correggere le configurazioni errate del cloud
    Identity Security
    • Singularity Identity
      Rilevamento e risposta alle minacce per l'identità
  • Perché SentinelOne?
    Perché SentinelOne?
    • Perché SentinelOne?
      Cybersecurity per il futuro
    • I nostri Clienti
      Scelta dalle aziende leader nel mondo
    • Riconoscimenti dal mercato
      Testato e comprovato dagli esperti
    • Chi siamo
      Il leader del settore nella sicurezza informatica autonoma
    SentinelOne a confronto
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Settori Verticali
    • Energia
    • Governo Federale
    • Servizi Finanziari
    • Sanitario
    • Scuola Superiore
    • Istruzione Primaria e Secondaria
    • Manifatturiero
    • Retail
    • Settore pubblico statale e locale
  • Servizi
    Managed Services
    • Panoramica dei Managed Services
      Wayfinder Threat Detection & Response
    • Threat Hunting
      Competenza di livello mondiale e Threat Intelligence.
    • Managed Detection & Response
      MDR esperto 24/7/365 per tutto il tuo ambiente.
    • Incident Readiness & Response
      Digital Forensics, IRR e preparazione agli incidenti.
    Supporto, implementazione e igiene
    • Gestione tecnica dei clienti
      Customer Success con un servizio personalizzato
    • SentinelOne GO
      Consulenza per l'onboarding e l'implementazione
    • SentinelOne University
      Formazione live e on-demand
    • Panoramica dei Servizi
      Soluzioni complete per operazioni di sicurezza senza interruzioni
    • SentinelOne Community
      Community Login
  • Partner
    La Nostra Rete
    • Partner MSSP
      Successo più veloce con SentinelOne
    • Marketplace di Singularity
      Amplia la potenza della tecnologia SentinelOne
    • Partner specializzati nel Cyber Risk
      Ingaggiare i team per gestire le risposte agli incidenti
    • Alleanze Tecnologiche
      Soluzione aziendale integrata su larga scala
    • SentinelOne per AWS
      Ospitato nelle regioni AWS di tutto il mondo
    • Partner di canale
      Offriamo le soluzioni giuste, insieme
    Per saperne di più sul Programma→
  • Risorse
    Centro Risorse
    • Schede tecniche
    • eBook
    • Video
    • Whitepaper
    • Events
    Accedi a tutte le risorse→
    Blog
    • Riflettori puntati sulle funzionalità
    • Per CISO/CIO
    • Direttamente dalla prima linea
    • Identità
    • Cloud
    • macOS
    • Blog di SentinelOne
    Blog→
    Risorse Tecniche
    • SentinelLABS
    • Glossario del Ransomware
    • Cybersecurity 101
  • Chi siamo
    Informazioni su SentinelOne
    • Informazioni su SentinelOne
      Il leader di mercato nella sicurezza cyber
    • SentinelLABS
      Ricerche sulle minacce per il moderno Threat Hunter
    • Carriere
      Opportunità di lavoro
    • Stampa e notizie
      Annunci dell’azienda
    • Blog
      Tutto sulle minacce alla cyber security, le ultime notizie e molto altro
    • FAQ
      Ottieni risposte alle domande più frequenti
    • DataSet
      La Piattaforma dal vivo
    • S Foundation
      Garantire un futuro più sicuro per tutti
    • S Ventures
      Investire nella sicurezza e nei dati di prossima generazione
IniziareContattaci
Background image for 7 tipi di attacchi SQL injection e come prevenirli?
Cybersecurity 101/Sicurezza informatica/Tipi di SQL Injection

7 tipi di attacchi SQL injection e come prevenirli?

Gli attacchi SQL injection sono minacce comuni che portano ad accessi non autorizzati, violazioni dei dati e perdite finanziarie. Scopriamo i diversi tipi di attacchi SQLi, come funzionano e come individuarli e prevenirli.

CS-101_Cybersecurity.svg
Indice dei contenuti

Articoli correlati

  • Analisi forense della sicurezza informatica: tipologie e best practice
  • I 10 principali rischi per la sicurezza informatica
  • Gestione del rischio: strutture, strategie e migliori pratiche
  • Che cos'è il TCO (costo totale di proprietà) della sicurezza informatica?
Autore: SentinelOne
Aggiornato: July 24, 2025

Gli attacchi SQL injection sono una delle minacce alla sicurezza più comuni ma anche più pericolose che colpiscono direttamente le applicazioni web. I criminali informatici manipolano il database SQL iniettando codice dannoso per ottenere accesso non autorizzato, violare i dati e compromettere il sistema. Conoscere i diversi tipi di SQL injection è importante per poterli differenziare e sapere come rilevarli e prevenirli.

Questo vi aiuterà a rafforzare la sicurezza delle vostre applicazioni e dei vostri database, salvaguardando al contempo le finanze e la reputazione della vostra azienda dalle minacce SQLi. Questo articolo tratta l'elenco degli attacchi SQL injection, i loro tipi, come prevenirli e alcuni esempi reali.

Tipi di SQL injection - Immagine in primo piano | SentinelOne

Cosa sono gli attacchi SQL injection (SQLi)?

Gli attacchi SQL injection (SQLi) si verificano quando un hacker inserisce codice SQL dannoso nei campi di immissione dati di un'applicazione per poter manipolare il database. In questo modo, possono accedere al database senza autorizzazione, estrarre dati riservati, modificare, aggiungere o eliminare record e compromettere l'intero sistema.

Gli attacchi SQLi si verificano principalmente a causa di input utente non sanificati, che consentono l'inserimento e l'esecuzione di codice dannoso. Una volta che ciò accade, gli hacker possono controllare il database, l'applicazione e i dati in essa memorizzati per lanciare ulteriori attacchi o portare a termine i loro intenti dannosi.

Perché l'SQL Injection è una grave minaccia alla sicurezza?

L'SQLi consente agli aggressori di aggirare i meccanismi di autenticazione di base per accedere direttamente al database ed estrarre i dati. Una volta all'interno, rubano, modificano ed eliminano i dati sensibili dell'azienda, come credenziali di accesso, record dei clienti e transazioni finanziarie.

È difficile tracciare gli attacchi SQLi poiché alterano la logica del codice, rendendo difficile il rilevamento e la prevenzione. Possono anche installare malware per assumere il controllo completo del sistema e causare il danneggiamento del sito web, il completo malfunzionamento del sistema e infezioni da ransomware. Possono rubare dati, crittografarli, chiedere un riscatto o esporre al pubblico i dati aziendali sensibili per causare danni alla reputazione. Ciò può comportare rischi per la privacy dei dati, come un maggiore controllo da parte delle autorità, procedimenti legali e pesanti sanzioni.

Come funzionano gli attacchi SQL injection?

Nell'SQLi, gli aggressori sfruttano le vulnerabilità di sicurezza nell'esecuzione delle query SQL di un'applicazione, che potrebbero verificarsi se non si gestiscono correttamente gli input degli utenti.

Cerchiamo di capire meglio con un esempio. Questa è una forma logica vulnerabile di un'applicazione:

SELECT * FROM users WHERE username = ' " + userInput + " ' AND password = ' " + passwordInput + " ';

Supponiamo che un aggressore inserisca questi comandi per modificare la logica:

Nome utente: ‘admin’ - -

Password: qualsiasi

La query ora diventa:

SELECT * FROM users WHERE username = 'admin’ - -’ AND password = 'anything';

Quando si utilizza "- -" in un comando SQL, significa che si sta utilizzando un operatore di commento per ignorare tutto ciò che segue. Ciò consente all'autore dell'attacco di accedere come utente "admin" e procedere senza inserire la password. Risultato? Ottiene l'accesso non autorizzato al database dell'app ed esegue il suo intento dannoso.

7 tipi di attacchi SQL injection

Esistono diversi tipi di attacchi SQL injection e conoscerli aiuta a comprenderne i rischi. Inoltre, permette di affrontare gli attacchi SQL injection a testa alta, comprenderne l'impatto e il modo migliore per mitigarli.

1. Attacco SQL injection classico

Nell'SQL injection classico, l'hacker inserisce comandi SQL dannosi direttamente nei campi di immissione dati dell'utente che interagiscono con il database di un'applicazione. Gli aggressori possono ora manipolare i campi di immissione dati e modificare la struttura di una query SQL per accedere all'applicazione e ai dati senza autorizzazione.

In questo tipo di SQLi, il canale di comunicazione dell'hacker è lo stesso sia per eseguire l'attacco che per ottenere il risultato. Per questo motivo viene anche chiamato SQL injection in banda. Gli attacchi SQL injection classici sono facili e veloci da eseguire, poiché gli aggressori possono vedere immediatamente i risultati delle modifiche apportate.

Esempio: un cyber-aggressore inserisce un'istruzione SQL nel campo di ricerca di un'applicazione o di un sito. L'output dell'istruzione viene visualizzato anche sulla stessa pagina web.

Come funziona

Per eseguire un attacco SQL injection classico o in banda, l'autore dell'attacco individua e sfrutta query SQL mal create di un'applicazione. Inserisce istruzioni SQL dannose nei campi di immissione per alterare la logica originale della query. Una volta riuscito nell'intento, può:

  • Bypassare l'autenticazione per ottenere l'accesso all'applicazione
  • Manipolare o rubare informazioni riservate
  • Controllare le operazioni amministrative, come la modifica/cancellazione di record, la creazione di nuovi utenti, l'estensione dei privilegi di accesso, la creazione di backdoor dannose per l'accesso persistente, ecc.

Come rilevare e prevenire l'SQLi classico

Rilevamento: Per rilevare un attacco SQL injection classico, cercare attività sospette o insolite nell'app e segni che potrebbero indicare la presenza di un attacco SQLi classico.

  • Comportamento anomalo dell'app: Comportamenti insoliti o anomali nell'app, come modifiche non autorizzate ai record, record aggiunti/eliminati, improvvise fughe di dati, tentativi di violare l'autenticazione, ecc., potrebbero essere dovuti a un attacco.
  • Errori imprevisti: se un'applicazione restituisce errori di database, come istruzioni SQL non valide, errori di sintassi, ecc., qualcuno potrebbe alterare la logica di query dell'applicazione.
  • Comandi SQL sospetti: se nei log dell'applicazione e del database sono presenti comandi SQL sospetti, potrebbe trattarsi di SQLi. Cercare istruzioni SQL con caratteri speciali, come UNION SELECT, "  OR  "1" = "1" per rilevare attacchi SQLi.
  • Scanner: Utilizza strumenti di sicurezza informatica, come scanner automatici di vulnerabilità, per rilevare le vulnerabilità di SQL injection.

Prevenzione: per prevenire i classici attacchi SQL injection, adottare misure precauzionali per rimuovere query vulnerabili e altri elementi dall'applicazione. Alcuni consigli per prevenire gli attacchi SQLi:

  • Sanificate e convalidate i vostri input: Utilizzate librerie sicure nei vostri comandi ed evitate caratteri speciali, come ‘  OR ‘1’ = ‘1’. Prova a inserire nella whitelist i caratteri previsti e a rifiutare quelli imprevisti per convalidare i tuoi input.
  • Usa query parametrizzate: Utilizza query parametrizzate (ad es. func(username, password) ) per separare il codice della query SQL dai dati immessi dall'utente, invece di concatenare gli input dell'utente nelle query SQL.
  • Accesso con privilegi minimi: Concedi agli utenti e agli account un livello minimo di autorizzazioni di accesso, sufficiente per completare le loro attività.
  • Utilizza i WAF: utilizza i firewall per applicazioni web firewall (WAF) per filtrare diversi tipi di SQL injection e bloccarli prima che raggiungano il database dell'applicazione.
  • Non esporre i messaggi di errore: cerca di non esporre in dettaglio gli errori del database agli utenti finali, poiché tra questi potrebbe esserci un aggressore. Con queste informazioni, chiunque potrebbe pianificare attacchi in qualsiasi momento.
  • Patch e audit: Esegui periodicamente audit di sicurezza per individuare e correggere più rapidamente le vulnerabilità. Mantieni aggiornato il tuo database.

2. Attacco SQL injection cieco

Un attacco SQL injection cieco si verifica quando l'autore dell'attacco inserisce comandi SQL dannosi nei campi del database "alla cieca", ovvero senza ottenere direttamente l'output del comando dall'applicazione, a differenza del classico SQLi. Cerca invece indizi indiretti, come risposte HTTP, tempi di risposta, comportamento dell'app, ecc. per dedurre il risultato del comando. Per questo motivo viene anche chiamato SQL injection inferenziale. Ne esistono due tipi: SQLi basato sul tempo e SQLi basato su booleani/contenuti.

Esempio: Un hacker può inserire istruzioni condizionali per verificare se il database contiene una specifica informazione in base alla risposta dell'app.

Come funziona

Gli attacchi Blind SQLi sono sicuramente pericolosi, ma non così comuni poiché richiedono molto tempo per avere successo. Poiché l'app/il sito non rivela/trasferisce dati all'hacker, quest'ultimo invia payload dannosi al database per apprendere autonomamente i risultati. Creano query SQL per modificare il comportamento dell'app. Dopo aver inserito il comando, osservano come l'app risponde al comando per estrarre informazioni.

Come rilevare e prevenire gli attacchi SQLi ciechi

Rilevamento: Rilevare le iniezioni SQL cieche può essere difficile poiché non mostrano avvisi di errore, a differenza delle SQLi classiche. Ma ci sono modi per rilevarle:

  • Monitorare i log: Configurare sistemi di monitoraggio della sicurezza per tracciare i log delle applicazioni. Esaminare il database per rilevare query che sembrano insolite o sospette e indagare immediatamente.
  • Controllare il comportamento dell'applicazione: Se l'applicazione rallenta improvvisamente o restituisce risposte inaspettate per diversi modelli di query, potrebbe esserci un SQLi cieco.
  • IDS: i sistemi di rilevamento delle intrusioni (IDS) sono una soluzione di sicurezza che segnala le query sospette e le convalida con un'indagine più approfondita.
  • Scanner automatici: Utilizza scanner automatici di vulnerabilità per identificare la presenza di iniezioni SQL cieche nelle query della tua app.

Prevenzione: È importante individuare e correggere gli SQLi ciechi, in modo che nessuno possa manomettere le query del database e ottenere dati sensibili. Le seguenti misure dovrebbero aiutarti a prevenirli:

  • Istruzioni preparate/query parametrizzate: tratta gli input degli utenti come dati, anziché come semplice codice. Aggiungi parametri nelle query per separare i valori inseriti dagli utenti dal codice SQL.
  • Gestione degli errori: quando si rilevano errori nel database, non esporli immediatamente al pubblico. Innanzitutto, trovare la soluzione e proteggere il database, in modo che gli hacker non possano sfruttare la vulnerabilità prima che venga corretta.
  • Limitare l'accesso: limita i privilegi di accesso applicando politiche quali l'accesso con privilegi minimi, zero trust e controlli di accesso basati sui ruoli per impedire accessi non autorizzati.
  • Monitoraggio continuo: monitorare l'applicazione e il database alla ricerca di minacce e risolverle prima che diventino un attacco SQL injection.

3. Iniezione SQL cieca basata sul tempo

L'iniezione SQL cieca basata sul tempo è un tipo di iniezione SQL cieca/inferenziale. L'autore dell'attacco manipola le query di un'applicazione per causare deliberatamente ritardi nella risposta. Si basa sul tempo di risposta dell'applicazione per decidere se la sua query è valida o meno.

Esempio: un hacker invia una query SQL che comanda un ritardo nella risposta se il nome "Jon" esiste nel database. Se l'applicazione ritarda l'invio della risposta, la query è vera.

Come funziona

In questo metodo, l'hacker invia un'istruzione SQL per far sì che il database di destinazione esegua un'operazione che richiede molto tempo o attenda alcuni secondi prima di rispondere. Successivamente, l'hacker osserva quanto tempo (in secondi) impiega l'app a rispondere alla query per determinare se la query è vera o falsa.

Se l'app risponde immediatamente, la query è falsa, mentre se risponde dopo alcuni secondi di attesa, la query è vera.

Come rilevare e prevenire il blind SQLi basato sul tempo

Rilevamento: per rilevare l'iniezione SQL cieca basata sul tempo, utilizzare gli stessi metodi discussi nell'iniezione SQL cieca. Riassumiamoli:

  • Analizzare i tempi di risposta: inviare diverse query SQL al database per analizzare i tempi di risposta. Ritardi significativi potrebbero indicare la presenza di un blind SQLi basato sul tempo nella logica del codice.
  • Controllare i log: controllare i log dell'app per rilevare segni di attività sospette o ritardi imprevisti.
  • Analisi del comportamento: monitorare il comportamento dell'app utilizzando strumenti di rilevamento delle anomalie. Questi segnaleranno rallentamenti e risposte anomali che indicano una vulnerabilità.
  • Scanner di vulnerabilità: esegui una scansione dell'applicazione e del database alla ricerca di vulnerabilità SQLi e risolvile immediatamente prima che si trasformino in attacchi.

Prevenzione: Le iniezioni cieche basate sul tempo danneggiano la tua organizzazione rubando dati riservati e compromettendo i sistemi. Ecco alcuni suggerimenti per prevenirle:

  • Convalida gli input: mantieni puliti gli input del database creando un elenco di input consentiti e rifiutando quelli inattesi o i caratteri speciali.
  • Query parametrizzate: Utilizza query parametrizzate (ad es. funzione (a,b)) per separare i dati degli utenti dal codice e impedire agli hacker di sfruttare le query del tuo database.
  • Esegui test regolari: Esegui regolarmente valutazioni della vulnerabilità e test di penetrazione sulla tua applicazione per rilevare e rimuovere le vulnerabilità.
  • Aggiornare: mantenere l'applicazione e il database aggiornati alle versioni più recenti per garantire l'utilizzo di programmi sicuri, privi di bug ed errori.
  • Limitare l'accesso: limitare i privilegi di accesso in modo che solo le persone autorizzate possano accedere ai dati sensibili.
  • Utilizza strumenti avanzati: utilizza strumenti di sicurezza avanzati, come scanner di vulnerabilità, potenti WAF e sistemi di prevenzione delle intrusioni (IPS) per prevenire le minacce.

4. Iniezione SQL basata su errori

L'iniezione SQL basata su errori è un tipo di iniezione SQL classica/in banda su applicazioni e database. Si concentra sulla ricerca e lo sfruttamento dei messaggi di errore per determinare i dettagli del database. Sebbene i messaggi di errore siano utili per comprendere gli errori in un database durante la creazione di una pagina web o di un'applicazione, è consigliabile nasconderli o eliminarli dopo la produzione.

Come funziona

Un malintenzionato inserisce un comando SQL che genera intenzionalmente messaggi di errore dal server del database. Questo gli consente di acquisire informazioni sulla struttura del database di destinazione. Con questo metodo è anche possibile determinare i valori dei dati, i nomi delle colonne e i nomi delle tabelle.

Come rilevare e prevenire gli attacchi SQLi basati su errori

Rilevamento: Per rilevare le iniezioni SQL basate su errori, risolverle immediatamente e limitare i danni. Considerate questi suggerimenti:

  • Messaggi di errore imprevisti: se si inserisce una query nel database e vengono visualizzati messaggi di errore imprevisti, potrebbe trattarsi di un attacco SQLi.
  • Log sospetti: verificare se l'applicazione e il database presentano log sospetti o attività non autorizzate.
  • Ricerca delle vulnerabilità: Esegui frequentemente la scansione della tua applicazione alla ricerca di vulnerabilità SQLi utilizzando strumenti automatizzati per risparmiare tempo.
  • Test di penetrazione: Esegui test di penetrazione sulle tue applicazioni per rivelare falle di sicurezza come farebbe un hacker.

Prevenzione: Impedisci agli attacchi SQLi basati su errori di danneggiare la tua organizzazione in termini di finanze, reputazione e fiducia dei clienti con questi suggerimenti:

  • Disattiva i messaggi di errore: evita di rivelare in dettaglio i messaggi di errore agli utenti finali. Gli aggressori possono sfruttare questa debolezza per sferrare un attacco SQLi. Prova a disattivare i messaggi di errore dopo che un'applicazione o un sito sono stati pubblicati. Se è strettamente necessario, configura la tua app in modo che visualizzi dettagli generici.
  • Registra i messaggi di errore in modo sicuro: puoi utilizzare un file per registrare i messaggi di errore. Ora, applica restrizioni di accesso a questo file per evitare che finisca nelle mani sbagliate.
  • Utilizza i WAF: utilizzare un firewall per applicazioni web per bloccare le iniezioni SQL dannose e impedire che danneggino il database.
  • Controllare e aggiornare: Mantieni sempre aggiornate le tue applicazioni con l'ultima versione per impedire agli aggressori di sfruttare le vulnerabilità di sicurezza. Devi anche eseguire controlli periodici per individuare e correggere i punti deboli nascosti.

5. Iniezione SQL basata su unione

Le iniezioni SQL basate su unione uniscono i risultati di più query per formare un unico risultato utilizzando il comando SQL – UNION. Questo output unito viene ora restituito come risposta HTTP, che viene utilizzata per recuperare dati da diverse tabelle dello stesso database. Gli hacker utilizzano questi dati per attaccare il database e l'applicazione.

Rispetto all'SQLi basato su errori, l'SQLi basato su union è più comune e difficile da combattere. Ecco perché sono necessarie soluzioni e strategie di sicurezza più efficaci per contrastarlo.

Come funziona

In primo luogo, un intruso cerca di identificare quante colonne sono presenti nella query del database di destinazione. Finché non vede un errore, l'intruso continua a inviare diverse varianti di questo comando per trovare il numero di colonne:

  • ORDER BY 1 - - 
  • ORDER BY 2 - - 
  • ORDER BY n - -

Successivamente, utilizzano il comando UNION per unire più istruzioni SELECT in una sola e ottenere maggiori informazioni dal database.

Come rilevare e prevenire gli attacchi SQLi basati su union

Rilevamento: rilevare un attacco SQL injection basato su union consente di combattere e neutralizzare la minaccia prima che si trasformi in un attacco vero e proprio. Ecco come rilevare un attacco SQLi basato su union:

  • Analizzare i log: controllare i log del database per individuare comandi SQL sospetti, in particolare le istruzioni UNION. Se ne viene individuata una, avviare immediatamente un'indagine approfondita.
  • Monitorare il comportamento della pagina: monitorare la pagina web/applicazione per individuare comportamenti insoliti, come la visualizzazione di dettagli aggiuntivi non richiesti.
  • Test: Esegui test di sicurezza, come i test di penetrazione, sulla tua applicazione per capire se presenta vulnerabilità SQLi. Ti dirà quanto è sicura la tua app comportandosi come un aggressore.

Prevenzione: Se desideri ridurre le possibilità di SQL injection basate su union, previenile con questi metodi:

  • Usa istruzioni preparate: Proteggi il tuo codice dagli hacker con istruzioni preparate o query parametrizzate (ad es. function(username, password)).
  • Limita i permessi del database: Limita l'accesso al tuo database per impedire agli utenti di inserire query "UNION".
  • Convalida gli input: inserisci nella whitelist i caratteri speciali ed evita quelli sospetti per ridurre le possibilità che gli hacker manipolino i tuoi codici.
  • Utilizza strumenti avanzati: Utilizza strumenti quali scanner di vulnerabilità, IDP/IPS e WAF per impedire che l'iniezione SQL raggiunga il database della tua applicazione.

6. Iniezione SQL fuori banda

L'iniezione SQL fuori banda non è molto comune, ma quando si verifica può avere un impatto sulla reputazione e sulle finanze della tua organizzazione.

A differenza dell'SQL injection in banda/classica, gli hacker utilizzano canali diversi per attaccare il database e ottenere il risultato desiderato. Ricorrono a questo tipo di attacco quando non possono implementare un attacco SQL in banda o inferenziale. Ciò potrebbe essere dovuto a server di database più lenti o instabili o a determinate funzionalità dell'applicazione.

Come funziona

Gli hacker eseguono SQLi fuori banda in ambienti IT sicuri in cui le applicazioni sono configurate per bloccare le risposte dirette del database. In questo scenario, non sono in grado di recuperare i dati utilizzando lo stesso canale che hanno utilizzato per inserire il codice dannoso. Quindi, optano invece per una modalità di comunicazione esterna più sofisticata, come le richieste HTTP o DNS, per recuperare i dati da database meno sicuri.

Quando un aggressore inietta comandi SQL dannosi nel database, questo si attiva o viene costretto a connettersi a un server esterno su cui l'aggressore ha il controllo. In questo modo, l'aggressore recupera informazioni sensibili come le credenziali utente/di sistema, le analizza e le sfrutta per controllare il database.

Come rilevare e prevenire gli attacchi SQLi fuori banda

Rilevamento: per rilevare gli attacchi SQLi fuori banda e poterli risolvere prima che si verifichi qualsiasi compromissione, prendere in considerazione i seguenti metodi:

  • Monitorare il traffico esterno: poiché l'SQLi fuori banda richiede una connessione esterna, monitorare il traffico in uscita, come le richieste HTTP o DNS. Questo aiuta a individuare traffico insolito che potrebbe essere un SQLi fuori banda.
  • Registro database: controllare frequentemente i registri del database per individuare richieste sospette a server noti o esterni.
  • IDS: Utilizzare sistemi di rilevamento delle intrusioni (IDS) per rilevare la presenza di tentativi di accesso non autorizzati a un server esterno.

Prevenzione: Ecco alcuni suggerimenti da tenere in considerazione per prevenire le iniezioni SQL fuori banda:

  • Utilizzare liste di autorizzazione: creare una lista di autorizzazione degli indirizzi IP e dei domini autorizzati con cui i dati devono comunicare, rifiutando tutti gli altri. Ciò impedisce al database di connettersi con server dannosi ed esporre i dati.
  • Disabilita le comunicazioni esterne: limita l'accesso al tuo database, in modo che URL esterni, file system, connessioni di rete, ecc. non possano interagire con esso.
  • Usa PoLP: limita le autorizzazioni di accesso al database applicando il principio del privilegio minimo (PoLP). Riduce la possibilità che malintenzionati eseguano funzioni/comandi, come "load_file".

7. Iniezione SQL di secondo ordine

L'iniezione SQL di secondo ordine è una minaccia informatica avanzata in cui un aggressore distribuisce e memorizza un payload dannoso basato su SQL in un database. Questo payload non viene eseguito immediatamente dopo. Al contrario, se una query SQL diversa elabora questo payload memorizzato, il payload viene attivato.

A differenza dell'SQLi in banda, che può manipolare i comandi in tempo reale, l'SQL injection di secondo ordine sfrutta gli input degli utenti memorizzati nel database.

Come funziona

In primo luogo, l'autore dell'attacco inietterà il payload SQL in un campo dell'app che salva i dati nel proprio database, come la registrazione dell'utente, gli aggiornamenti del profilo, i commenti, ecc. Successivamente, il payload rimarrà lì come se fosse inattivo, senza causare danni, interruzioni del funzionamento o errori. Ciò consente agli autori degli attacchi di ottenere l'accesso non autorizzato ai database, manipolare i dati e danneggiare la vostra attività.

Come rilevare e prevenire l'SQLi di secondo ordine

Rilevamento: Ecco alcuni modi per rilevare l'SQL injection di secondo ordine, in modo da poterli classificare in ordine di priorità e risolverli più rapidamente:

  • Controlli del codice: controlla periodicamente la logica della tua applicazione per identificare le sezioni in cui le query SQL contengono input utente memorizzati nel database.
  • Monitora il tuo database: monitora continuamente il database per individuare comandi SQL non autorizzati o imprevisti memorizzati o in esecuzione.
  • Controlla le interazioni: utilizza strumenti di analisi del comportamento per verificare se il database interagisce con URL e file system esterni o sconosciuti.

Prevenzione: Prendi in considerazione questi metodi per prevenire attacchi SQLi di secondo ordine ed evitare perdite finanziarie e di reputazione:

  • Sanificare gli input: sanificare gli input in ogni fase, in particolare nei punti di ingresso e prima di riutilizzarli. Ciò consentirà di rilevare e rimuovere il codice dannoso presente nel database.
  • Eseguire test regolari: Esegui test regolari sulla tua applicazione, come test di penetrazione, valutazioni delle vulnerabilità, valutazioni dei compromessi, ecc., per individuare, neutralizzare e mitigare le minacce.
  • Limita l'accesso: Utilizza controlli di accesso, come il principio del minimo accesso, zero trust e accesso basato sui ruoli, per limitare l'accesso degli utenti al tuo database.

Esempi reali di attacchi SQL injection

Parliamo di due dei più famosi attacchi SQLi della storia che hanno avuto conseguenze disastrose:

  • Violazione dei dati di Equifax: Equifax, una società di valutazione del merito creditizio, ha subito una attacco SQLi nel 2017. Gli aggressori hanno individuato e sfruttato un'applicazione web poco sicura ed eseguito query SQL dannose per ottenere l'accesso non autorizzato alle informazioni riservate dei clienti.

Ciò ha esposto i dati di 143 milioni di clienti, inclusi nomi, date di nascita, indirizzi e numeri di previdenza sociale. L'azienda non è riuscita a rilevare l'attacco per mesi e quando lo ha fatto era troppo tardi. Equifax ha dovuto pagare più di 1,4 miliardi di dollari in multe e risarcimenti.

  • Yahoo: Yahoo ha subito un massiccio attacco SQLi nel 2014 in cui gli aggressori hanno iniettato codice dannoso nelle sue app vulnerabili. Con questo tentativo, gli aggressori sono riusciti a ottenere 500 milioni di account degli utenti di Yahoo.

Con questa violazione dei dati, gli aggressori hanno compromesso nomi utente, password, domande di sicurezza e altro ancora. Di conseguenza, la valutazione di Yahoo è scesa, il che ha influito sull'acquisizione di Yahoo da parte di Verizon. Un tempo aveva una valutazione di 100 miliardi di dollari, ma Yahoo ha dovuto venderla per soli 4,83 miliardi di dollari.

Come prevenire gli attacchi SQL injection?

Una singola applicazione con SQL injection dannosa è sufficiente per consentire ai criminali informatici di accedere al database e ai dati riservati di un'azienda. Ciò comporterà danni finanziari e reputazionali. Tuttavia, è possibile proteggere le proprie applicazioni da diversi tipi di attacchi SQL injection seguendo questi consigli:

  • Evita di incorporare gli input degli utenti direttamente nelle query SQL. Utilizza invece query limitate e istruzioni preparate per differenziare il codice dai dati. Ciò consentirà di eseguire le query in modo sicuro e prevenire gli attacchi SQLi.
  • Limita l'accesso al database SQL in base ai ruoli e alle autorizzazioni. Concedi agli utenti i privilegi minimi necessari per eseguire le azioni e ridurre l'impatto della violazione.
  • Utilizza procedure memorizzate per controllare l'interazione tra le query e il database, in modo da ridurre l'esposizione diretta ai comandi SQL provenienti dagli input degli utenti.
  • Applica regole di convalida rigorose per utilizzare solo i formati di dati previsti e impedire che codice SQL dannoso entri nel tuo sistema.
  • Aggiornare regolarmente le applicazioni e controllare le patch di sicurezza per ridurre al minimo i rischi per la sicurezza.
  • Utilizzare strumenti avanzati di sicurezza informatica per rilevare e bloccare i tentativi di SQLi prima che entrino nel database. Gli strumenti monitorano le query insolite del database, i modelli di query e l'accesso alla registrazione per eliminare i rischi.

Liberate la cybersicurezza alimentata dall'intelligenza artificiale

Elevate la vostra posizione di sicurezza con il rilevamento in tempo reale, la risposta automatica e la visibilità totale dell'intero ambiente digitale.

Richiedi una demo

Conclusione

Diversi tipi di attacchi SQL injection prendono di mira le applicazioni web che utilizzano database SQL per ottenere un accesso non autorizzato. I criminali informatici spesso riescono nel loro intento grazie alle vulnerabilità delle applicazioni, come gli input degli utenti non sanificati. Una volta ottenuto l'accesso, possono rubare informazioni sui clienti, dati aziendali riservati, documenti finanziari, ecc.e danneggiare la reputazione della vostra azienda.

Le misure preventive chiave che dovete implementare includono la convalida degli input, il monitoraggio continuo utilizzando strumenti di sicurezza avanzati, istruzioni preparate, accesso limitato e altro ancora. Gli aggressori perfezionano costantemente le loro strategie per ottenere l'accesso, quindi dovete stare al passo utilizzando test di penetrazione, rilevamento delle minacce e regolari audit di sicurezza.

Non aspettate che sia un criminale informatico ad agire per primo. Siate invece i primi a proteggere le vostre applicazioni da diversi tipi di attacchi SQL injection.

"

FAQs

I microservizi suddividono la logica applicativa in numerosi servizi autonomi, ciascuno dei quali può utilizzare un proprio database. Il decentramento può portare a pratiche di convalida degli input incoerenti e a un maggior numero di canali di attacco. È fondamentale implementare controlli di sicurezza uniformi, una registrazione rigorosa e un monitoraggio della qualità della comunicazione tra i servizi.

Un bug in un microservizio può amplificarsi, quindi è fondamentale disporre di solide difese contro l'SQL injection a livello di servizio per proteggere l'intero sistema.

Oltre ai comuni test di penetrazione, l'applicazione di test di fuzz, analisi delle mutazioni e rilevamento delle anomalie basato sull'intelligenza artificiale può rilevare sottili vulnerabilità di SQL injection. Queste tecniche imitano input disparati e imprevedibili, rivelando difetti nella logica delle query che i test comuni non sono in grado di rilevare.

Integrando queste tecniche avanzate, le organizzazioni possono migliorare il rilevamento e la riparazione di tipi elusivi di attacchi SQL injection prima che gli aggressori li scoprano e li sfruttino.

L'integrazione delle informazioni sulle minacce migliora il rilevamento delle iniezioni SQL attraverso la correlazione delle tendenze globali degli attacchi e delle nuove tecniche con il monitoraggio delle query in tempo reale. Questo approccio proattivo consente ai sistemi di sicurezza di rilevare modelli di query insoliti indicativi di tentativi di iniezione SQL.

Gli aggiornamenti in tempo reale delle minacce consentono agli sviluppatori e al personale addetto alla sicurezza di migliorare i metodi di sanificazione degli input e di risposta, eliminando efficacemente le potenziali vulnerabilità negli ambienti dinamici.

I database legacy non dispongono delle moderne funzionalità di sicurezza e sono suscettibili all'SQL injection a causa della natura obsoleta della sanificazione degli input e dei controlli di accesso deboli. Le carenze architetturali intrinseche creano vulnerabilità sfruttabili, consentendo agli aggressori di manipolare rapidamente le query e ottenere l'accesso a informazioni sensibili.

Per fermare queste minacce sono necessari una gestione rigorosa delle patch, un monitoraggio avanzato e l'aggiunta di nuovi controlli di sicurezza per contrastare gli attacchi SQL injection avanzati.

Mentre l'SQL injection tradizionale è rivolto a database relazionali e strutturati, gli attacchi NoSQL injection prendono di mira le vulnerabilità dei database orientati ai documenti e non strutturati. Gli aggressori sfruttano i linguaggi di query nativi dei database NoSQL, spesso attraverso l'assenza di convalida degli input e procedure di sicurezza non conformi.

La mitigazione di questi attacchi include soluzioni avanzate come una solida sanificazione, query parametrizzate e un monitoraggio costante per proteggere adeguatamente gli ambienti NoSQL in evoluzione.

Scopri di più su Sicurezza informatica

26 esempi di ransomware spiegati nel 2025Sicurezza informatica

26 esempi di ransomware spiegati nel 2025

Esplora 26 esempi significativi di ransomware che hanno plasmato la sicurezza informatica, compresi gli ultimi attacchi del 2025. Comprendi come queste minacce influenzano le aziende e come SentinelOne può aiutarti.

Per saperne di più
Che cos'è lo smishing (phishing via SMS)? Esempi e tatticheSicurezza informatica

Che cos'è lo smishing (phishing via SMS)? Esempi e tattiche

Scopri cos'è lo smishing (phishing via SMS) e come i criminali informatici utilizzano messaggi di testo falsi per rubare informazioni personali. Impara a riconoscere i segnali di allarme e come proteggerti da queste truffe.

Per saperne di più
Lista di controllo per la verifica della sicurezza: 10 passaggi per la protezioneSicurezza informatica

Lista di controllo per la verifica della sicurezza: 10 passaggi per la protezione

Scoprite i fondamenti delle checklist di audit di sicurezza, dalla loro importanza e dalle lacune comuni alle best practice e ai passaggi chiave per il successo. Comprendete i tipi di audit e gli esempi e scoprite come migliorare i risultati degli audit della vostra organizzazione.

Per saperne di più
Che cos'è una configurazione di sicurezza errata? Tipi e prevenzioneSicurezza informatica

Che cos'è una configurazione di sicurezza errata? Tipi e prevenzione

Scopri come le configurazioni di sicurezza errate possono influire sulle applicazioni web e sulle aziende. Questa guida offre esempi, incidenti reali e misure pratiche di mitigazione per migliorare la sicurezza informatica.

Per saperne di più
Provate la piattaforma di cybersecurity più avanzata

Provate la piattaforma di cybersecurity più avanzata

Scoprite come la piattaforma di cybersecurity più intelligente e autonoma al mondo può proteggere la vostra organizzazione oggi e in futuro.

Richiedi una demo
  • Iniziare
  • Richiedi una demo
  • Presentazione del prodotto
  • Perché SentinelOne
  • Prezzi e Pacchetti
  • Contattaci
  • Contattaci
  • Supporto
  • SentinelOne Status
  • Lingua
  • Italiano
  • Piattaforma
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Servizi
  • Wayfinder TDR
  • SentinelOne GO
  • Gestione tecnica dei clienti
  • Servizi di Supporto
  • Settori Verticali
  • Energia
  • Governo Federale
  • Servizi Finanziari
  • Sanitario
  • Scuola Superiore
  • Istruzione Primaria e Secondaria
  • Manifatturiero
  • Retail
  • Settore pubblico statale e locale
  • Cybersecurity for SMB
  • Risorse
  • Blog
  • Labs
  • Video
  • Presentazione del prodotto
  • Events
  • Cybersecurity 101
  • eBooks
  • Stampa
  • Pers
  • Notizie
  • Glossario del Ransomware
  • Azienda
  • Chi siamo
  • I nostri clienti
  • Opportunità di Lavoro
  • Partner
  • Legale e conformità
  • Sicurezza e conformità
  • S Foundation
  • S Ventures

©2025 SentinelOne, Tutti i diritti riservati.

Informativa sulla privacy Condizioni di utilizzo