Questo documento tratta il tema dell’SQL injection, esaminando le strategie per poterla prevenire nelle web application e di come rilevare l’attacco attraverso modelli di machine learning. Inizialmente verrà presentata una panoramica introduttiva sui DBMS (Database Management Systems) e sul linguaggio SQL (Structured Query Language), per avere delle solide basi per comprendere l’SQL injection. Dopodiché, dopo una breve descrizione dei concetti fondamentali, viene analizzata la tecnica di SQL injection, illustrando come possa essere sfruttata attraverso un esempio di web application vulnerabile. Verrano forniti alcuni suggerimenti pratici su come poterli prevenire, discutendo le migliori pratiche di progettazione volte a creare applicazioni web sicure e resistenti. Il tutto ha lo scopo di poter concretizzare le metodologie e le tecniche descritte nel paper [1], che tratta la costruzione di modelli di machine learning progettati per identificare i tentativi di SQL injection.