Panorama delle vulnerabilità web
Le vulnerabilità web sfruttano input non controllati e la fiducia tra browser, sito e server. La SQL Injection colpisce il database: l’attaccante inserisce codice SQL in un campo, come il login, e se il server non valida i dati può eseguire comandi arbitrari. Le conseguenze includono furto, modifica o cancellazione di dati e, in casi estremi, controllo del server. La prevenzione documentata usa le Prepared Statements, che separano struttura SQL e dati.
Attacchi al client e alla sessione
Il Cross-Site Scripting (XSS) inietta codice nel browser della vittima; può essere riflesso, tramite URL, o memorizzato, salvato nel sito. Può portare a furto del Session Cookie, reindirizzamenti a phishing e azioni non autorizzate. Si previene con sanitization degli input ed encoding degli output. Il CSRF costringe un utente già autenticato a inviare richieste indesiderate: il browser allega i cookie di sessione e il server le considera legittime. Le difese principali sono gli Anti-CSRF Token, codici casuali e univoci per operazione o form.
- SQLi: integrità e riservatezza del database.
- XSS: esecuzione di contenuti malevoli nel client.
- CSRF: azioni compiute a nome dell’utente.