Please enable JavaScript.
Coggle requires JavaScript to display documents.
SQL INJECTION - Coggle Diagram
SQL INJECTION
2. SQL INJECTION
È un tipo di Code Injection che riguarda le applicazioni che utilizzano database SQL.
L'attaccante cerca di modificare le query SQL generate dall'applicazione.
Può permettere di:
leggere dati non autorizzati;
modificare o cancellare dati;
bypassare l'autenticazione;
ottenere informazioni sul database
4. ACCESSO A DATI NASCOSTI
Se l'input dell'utente viene inserito direttamente nella query,
l'attaccante può cercare di modificarne la logica.
Può, ad esempio,
tentare di eliminare una condizione della query attraverso la manipolazione dell'input.
Concetto da ricordare:
L'attaccante non inserisce semplicemente un valore, ma cerca di modificare la logica della query SQL.
5. BYPASS DELL'AUTENTICAZIONE
Una query di login verifica normalmente:
username + password
Con una SQL Injection l'attaccante può cercare di alterare la query,
facendo in modo che il controllo della password venga ignorato.
Schema:
input manipolato → modifica della query → controllo alterato → accesso
Se viene ottenuto un account privilegiato, l'impatto può essere molto grave.
6. UNION ATTACK
La clausola UNION permette di combinare i risultati di più query SELECT.
In caso di SQL Injection
può essere sfruttata per cercare di ottenere dati provenienti da altre tabelle del database.
Per funzionare, le query devono avere:
stesso numero di colonne;
tipi di dati compatibili.
1. CODE INJECTION
La Code Injection è una vulnerabilità che si verifica quando l'applicazione mescola:
codice dell'applicazione + input dell'utente
Se l'input non viene gestito correttamente,
può essere interpretato come codice/istruzione invece che come semplice dato.
Concetto fondamentale:
L'utente riesce a modificare il comportamento previsto dall'applicazione attraverso il proprio input.
3. PRINCIPALI TECNICHE
Le principali forme di SQL Injection sono:
Accesso a dati nascosti
Bypass dell'autenticazione
UNION Attack
Analisi della struttura del database
Blind SQL Injection
SQL Injection di secondo ordine