È possibile ottenere un'iniezione SQL senza che venga visualizzato un errore?

2

Ho provato a fare un'iniezione SQL su un sito web usando Hack Bar. Il server non ha risposto agli errori SQL.

Ho anche provato a usare sqlmap:

sqlmap -u http://website/login.php?op=login --dbs
sqlmap -u http://website/login.php?id=1 --dbs
[10:06:33] [CRITICAL] all tested parameters appear to be not injectable.

Quindi la mia domanda è: è possibile ottenere un'iniezione SQL, anche se il server web non mostra alcun errore?

    
posta Salcybercat 02.11.2016 - 15:13
fonte

2 risposte

4

Sì, si chiama Blind SQL Injection , che è piuttosto difficile, ma non impossibile.

Se puoi eseguire query per molti valori true / false, è un Injection SQL cieco basato sui contenuti .

Un altro metodo comune è il SQL Injection Blind basato sul tempo , in cui si istruisce fondamentalmente il database per eseguire un'operazione intensiva. Se il sito Web non restituisce immediatamente una risposta, l'applicazione Web è vulnerabile a Blind SQL Injection. Principalmente, viene utilizzata l'operazione di sospensione.

yoursite.com/index.php?id=1337 and if(1=1, sleep(42), false)

Se la pagina non viene ricaricata al più presto, è vulnerabile.

    
risposta data 02.11.2016 - 15:16
fonte
1

Esiste un concetto chiamato iniezione SQL cieca . Si occupa della situazione in cui un parametro è vulnerabile all'iniezione ma gli errori vengono gestiti internamente dal programma e l'autore dell'attacco non è in grado di vedere il messaggio di errore o che si è verificato un errore, rispettivamente.

Controlla questo tutorial , spiega le cose in modo più dettagliato.

    
risposta data 02.11.2016 - 15:21
fonte

Leggi altre domande sui tag