SQL Injection
Gli aggressori esterni saranno facilitati nel loro compito se il database supporta molti comandi speciali tramite le query SQL. Il database che si presta meglio alle tecniche di Avanced SQL injection è il Ms SQL Server, a causa del supporto dei comandi xp_cmdshell e simili, seguito da Postgree, DB2, Oracle e MySQL (generalmente il meno vulnerabile).
Ora che conosciamo il modus operandi di un hacker che vuole intrufolarsi nelle nostre applicazioni web, possiamo valutare le contromisure più adatte a fermarlo. Essere in grado di riconoscere autonomamente gli script a rischio è già un buon passo avanti; adesso vediamo in che modo prevenire gli attacchi.
- Validazione dell’input. Implementiamo delle procedure di validazione nei nostri script, prevediamo e blocchiamo ogni tipo di carattere pericoloso che può essere immesso. La validazione deve essere fatta rigorosamente lato server. I JavaScript sono praticamente inutili contro un hacker.
- Controllo delle informazioni. I dati che il nostro server web si lascia “scappare” sono importantissimi per un hacker; ne sono un esempio i messaggi di errore ODBC che, abbiamo visto, possono essere manipolati facilmente. Configuriamo IIS in modo da inviare un messaggio di errore generico invece che specifico.
- Ridurre i privilegi. Il servizio del server SQL non deve avere privilegi superiori, in modo da contrastare le tecniche di hacking che invece li richiedono.
- Aggiornare spesso. Molti punti vulnerabili alla SQL injection non sono così evidenti come nei casi che abbiamo visto finora. Per questo non abbiamo la possibilità di riconoscerli subito. Gli update degli script (forum, sistemi di gestione) risolvono questi problemi appena vengono trovati, quindi teniamoci aggiornati!
Per ulteriori approfondimenti sulle tecniche di injection e sulla protezione delle pagine dinamiche consultiamo i testi elencati di seguito:
- Chris Anley, “Advanced SQL injection in SQL Server applications“, 2002
- Marco Bonzanini, Proteggersi dalla SQL Injection in FreePhp.it, gennaio 2004
- Mike Schiffman, Scacco agli hacker, Milano, Apogeo 2002
- S. McClure, J.Scambray e G.Kurtz, Hacker! 4.0, Milano, Apogeo 2003