Vai al contenuto

Prossima Edizione del Bootcamp
4 maggio 2026

SQL Injection

Un attacco di code injection che sfrutta vulnerabilita nelle applicazioni web inserendo statement SQL malevoli nei campi di input, permettendo agli attaccanti di manipolare database, accedere a dati non autorizzati o eseguire operazioni amministrative.

Autore
Unihackers Team
Tempo di lettura
4 min di lettura
Ultimo aggiornamento

Perche e Importante

La SQL injection si e costantemente classificata tra le vulnerabilita delle applicazioni web piu critiche per oltre due decenni. Nonostante sia ben compresa e prevenibile, la SQLi continua ad affliggere le applicazioni, abilitando data breach che espongono milioni di record.

L'impatto della SQL injection va ben oltre il semplice accesso ai dati. Gli attacchi riusciti possono:

  • Estrarre interi database incluse password e informazioni personali
  • Modificare o eliminare dati, causando disruption operativa
  • Bypassare l'autenticazione e impersonare utenti
  • Eseguire comandi sul server sottostante
  • Pivotare per attaccare sistemi di rete interni

Alcune delle violazioni di dati piu grandi della storia sono risultate da SQL injection, inclusi incidenti che hanno colpito grandi rivenditori, agenzie governative e aziende tecnologiche. La continua prevalenza di questa vulnerabilita riflette sia problemi di codice legacy che fallimenti continui nelle pratiche di sviluppo sicuro.

Per i professionisti della sicurezza, la SQL injection serve come area di competenza fondamentale. I web application penetration tester devono identificare e sfruttare queste vulnerabilita; gli sviluppatori devono scrivere codice sicuro; e i security engineer devono implementare controlli difensivi che catturino cio che lo sviluppo manca.

Come Funziona la SQL Injection

La SQL injection si verifica quando l'input utente viene incorporato nelle query del database senza validazione o sanitizzazione appropriate:

Esempio Codice Vulnerabile

login-vulnerabile.php
PHP

Esecuzione dell'Attacco

attacco-sql-injection.txt
Text

Tipi di SQL Injection

SQLi In-Band

I risultati sono restituiti direttamente nella risposta dell'applicazione.

Union-based: Combina i risultati della query dell'attaccante con l'output della query legittima.

union-injection.sql
SQL

Error-based: Estrae dati attraverso i messaggi di errore del database.

SQLi Blind

Nessun output diretto visibile; gli attaccanti inferiscono i risultati attraverso il comportamento dell'applicazione.

Boolean-based: Risposte diverse basate su condizioni vero/falso.

boolean-blind.sql
SQL

Time-based: Usa delay del database per estrarre informazioni.

time-based.sql
SQL

SQLi Out-of-Band

Dati esfiltrati attraverso canali esterni (DNS, richieste HTTP).

Impatto della SQL Injection

Esfiltrazione Dati

  • Estrarre credenziali utente, informazioni personali, dati finanziari
  • Fare dump dell'intero contenuto del database
  • Accedere a dati attraverso tabelle e database multipli

Bypass Autenticazione

auth-bypass.sql
SQL

Manipolazione Dati

  • Modificare saldi account o permessi
  • Eliminare record o droppare tabelle
  • Inserire dati malevoli

Compromissione Sistema

  • Eseguire comandi sistema operativo (via xp_cmdshell, ecc.)
  • Leggere/scrivere file sul server
  • Pivotare verso rete interna

Tecniche di Prevenzione

Query Parametrizzate (Prepared Statement)

La difesa primaria - separa il codice SQL dai dati utente.

python-sicuro.py
Python
java-sicuro.java
JAVA

Validazione Input

  • Validare tipi di dato (aspetta intero, rifiuta stringhe)
  • Whitelist caratteri permessi
  • Rifiutare pattern malevoli noti
  • Validare vincoli di lunghezza

Stored Procedure

stored-procedure.sql
SQL

Defense in Depth

  • Web Application Firewall (WAF) per rilevare pattern di attacco
  • Principio minimo privilegio per account database
  • Disabilitare funzionalita database non necessarie
  • Crittografare dati sensibili a riposo
  • Security testing e code review regolari

Rilevanza per la Carriera

L'expertise SQL injection e molto apprezzata nei ruoli di sicurezza. I web application penetration tester testano e sfruttano regolarmente la SQLi; i secure code reviewer identificano pattern vulnerabili; e gli application security engineer implementano controlli di prevenzione.

No salary data available.

Nel Bootcamp

Come Insegniamo SQL Injection

Nel nostro Programma di Cybersecurity, non imparerai solo la teoria su SQL Injection. Praticherai con strumenti reali in laboratori pratici, guidato da professionisti del settore che usano questi concetti quotidianamente.

Trattato in:

Modulo 10: Penetration Testing e Hacking Etico

Argomenti correlati che padroneggerai:MetasploitNmapBurp SuiteEscalation dei Privilegi
Scopri Come Lo Insegniamo

360+ ore di formazione guidata da esperti. 94% tasso di occupazione