Il database è la miniera d'oro, ecco perché filtrare i dati significa tutte le cose cattive. Il codice sorgente dell'applicazione è importante in alcuni casi, ma se si guarda all'architettura delle applicazioni moderne, la maggior parte dei dati proviene dal database back-end. Credenziali, informazioni personali, numeri di carte di credito, dati finanziari e aziendali, quasi tutto ciò che si desidera proteggere è nel database.
Compromettere il server (come ottenere la shell) è importante solo in caso di attacchi bot in modo che la rete bot sia espansa. Gli attacchi mirati sono sempre per i dati. Pertanto, compromettere il database significa raggiungere l'obiettivo.
Per quanto riguarda la cosa "attacchi da comando", la maggior parte dei siti Web viene compromessa tramite l'iniezione SQL che esegue direttamente query di attacco sul database. Il database di sola lettura è il minimo che si ottiene in SQL injection. SQLi può comportare un completo compromesso della macchina anche caricando il codice shell tramite la direttiva "INTO DUMPFILE" e questi chiamano la shell attraverso l'applicazione web, risultando in una shell interattiva completa attraverso il browser.
Quindi la perdita di dati per la maggior parte del tempo raggiunge l'obiettivo, ecco perché gli aggressori si fermano qui. Altrimenti, SQL injection offre anche molte altre modalità di attacco.