Come evitare le Sql Injection
June 6, 2008 - NoisesPrevenire le Sql Injection
Quando un utente malizioso interagisce con il nostro software, si mette alla ricerca dei punti deboli e tenta di rompere il sistema proprio lì; perciò, possiamo affermare che un sistema è tanto sicuro quanto è sicura la sua parte più debole.
Andiamo dunque ad esaminare tutte le componenti da mettere in sicurezza; le operazioni consigliate possono sembrare molto semplici ma, forse per disattenzione, forse per la fretta di rilasciare un prodotto, non sempre vengono effettuate (ed il recente boom di infezioni lo dimostra).

Conosci i tuoi dati
Se un’applicazione web richiede all’utente di scegliere ad es. una data, è bene validare tipo, lunghezza, formato e range client-side (in JavaScript) e server-side.
Prima del viaggio verso il lato server, è bene filtrare i dati per aggiungere caratteri di escape a caratteri che hanno un significato speciale in SQL, ad es. l’apostrofo. Tenere presente che questi filtri non hanno effetto sugli attacchi che impiegano caratteri ASCII in esadecimale; in tal caso, la difesa dovrà avvenire più in profondità.
Se poi il dato che viaggia è sensibile (ad es. informazioni sugli utenti, specialmente se finanziarie) criptarlo è d’obbligo, ad es. tramite un salted hash, ad es. MD5.
Conosci i tuoi utenti
Assegnare agli utenti del database i privilegi strettamente necessari: un’applicazione web che si connette ad un db usando l’account dell’amministratore da’ all’attaccante il potenziale di eseguire qualunque comando.
Inoltre, se l’attaccante riesce ad agire fuori dei confini del db (ad es. usando la procedura xp_cmdshell), potrebbe acquisire accesso illimitato alla macchina che ospita SQL Server. Infatti, quando un’istanza di SQL Server viene installata, viene creato un servizio in esecuzione in background (che processa i comandi dalle applicazioni ad esso connesse) appartenente all’account di sistema locale (il più potente su una macchina Windows, persino più potente dell’account amministrativo). Perciò, Microsoft raccomanda che durante l’installazione di SQL Server il server venga eseguito da un account che possa accedere soltanto alle risorse strettamente necessarie.
Approfondimenti:
Sql Injection
in 



Leggo sul sito web dei Baustelle che:
Anna insegna in una scuola di Pordenone. Nel privato è Madameweb. I suoi alunni tappezzarono i bagni con le sue immagini hard trovate sul web. Alla fiera dell’eros di Berlino, a fine ottobre, è stata un’attrazione e il video che testimonia il suo successo è finito su YouTube.
David Weinberger è un maestro della forma e del contenuto: oltre ad essere un grande comunicatore in grado di magnetizzare l’attenzione degli spettatori, le sue idee sono davvero innovative. Sorprendono e stravolgono quello che già sai.
OpenSocial è un insieme di tre API definite da Google che permette agli sviluppatori di accedere a :