Come superare Blind SQL Injection

0

So che SQL Injection può essere disinfettato usando

mysql_real_escape_string();

ma come sanificare SQL Injection Blind e in che modo è diverso dalla normale iniezione SQL.

    
posta Black Mamba 18.09.2016 - 09:53
fonte

2 risposte

2

L'iniezione SQL cieca e l'iniezione SQL "normale" sono entrambe iniezioni SQL, ovvero l'autore dell'attacco è in grado di modificare l'istruzione SQL inviata al database. L'unica differenza è che con un'iniezione SQL cieca l'autore dell'attacco non vede alcun risultato ovvio (ovvero i dati restituiti dal database) ma può solo dedurre dai tempi, dai messaggi di errore o da ciò che è accaduto nel database. Vedi OWASP per ulteriori informazioni.

Poiché la causa sia dell'iniezione SQL cieca che dell'iniezione SQL "normale" è la stessa cosa anche per la prevenzione, ovvero assicurarsi che l'autore dell'attacco non possa modificare l'SQL in modo malevolo. Il modo migliore per farlo è il binding dei parametri e non l'escape (cioè mysql_real_escape_string ). Per ulteriori informazioni su come farlo correttamente, consulta Bobby Tables: una guida per prevenire l'iniezione SQL che descrive entrambi i problemi e ha anche soluzioni in vari lingue come per PHP .

    
risposta data 18.09.2016 - 10:06
fonte
1

Uso di query parametrizzate! link link

In questo modo, anche tu - sempre - devi preoccuparti di sfuggire ogni volta sempre, in ogni query.

Vorrei anche ricordare che mysql_real_escape_string(); non è aggiornato.

mysqli_real_escape_string();

È la versione supportata corrente.

    
risposta data 18.09.2016 - 09:58
fonte

Leggi altre domande sui tag