Attaccante
...

Obiettivo: eseguire codice malevolo sul browser della vittima.

L'attaccante sfrutta il comportamento riflessivo del sito scelto come target.
L'attaccante genera un codice malevolo, lo inietta per esempio nell'URL del sito target e spinge con l'inganno l'utente a navigare nel sito target.

Sito target
...

Il sito è vulnerabile a XSS.
Il sito ha comportamenti riflessivi dell'input che non sono sanificati correttamente.

Esempio comportamento riflessivo: ricerca su Google per "meteo Torino". Il sito risponde con: "risultati per meteo Torino".

Versione persistente
...

Quella descritta nello scenario mostrato è la versione non persistente dell'attacco. Il malintenzionato al posto di iniettare il codice in una URL, potrebbe iniettare il codice direttamente nella pagine di un sito web, in modo che venga salvato in maniera persistente dal sito web stesso. Qualsiasi utente visita tale pagina esegue il codice dell'attaccante.
La portata è decisamente maggiore.

Vittima
...

La vittima ignara. Riceve una mail molto convincente in cui viene spinto a fare click sul link fornito dall'attaccante. Non appena visita il sito target il codice dell'attaccante viene eseguito nel browser della vittima.

CSRF: Cross Site Request Forgery
...

Pasted image 20231204185522.png

XSS: Cross Site Scripting
...

Pasted image 20231204180639.png

Attaccante
...

Obiettivo: eseguire una richiesta preventivamente creata su un sito scelto come target.

L'attaccante forgia una richiesta malevola.
Per esempio l'attaccante crea una richiesta in cui si vuole effettuare tramite il sito di una banca un versamento all'attaccante stesso.
L'attaccante spera che la vittima abbia una sessione aperta con il sito web della banca, il browser attacca in automatico i cookie della vittima alla richiesta. La richiesta viene inviata come se fosse stato la vittima a farla.

Sito target
...

Il sito target non implementa meccanismi di protezione contro gli attacchi CSRF con same-site o token di sessione.

Vittima
...

Per la riuscita dell'attacco la vittima deve avere una connessione aperta con il sito target, in cui si è autenticato.

SQL injection
...

Pasted image 20231204192003.png

Sito target
...

Il sito target non sanifica opportunamente l'input inserito dall'utente consentendo l'iniezione di codice arbitrario agli utenti.
Un malintenzionato con buone conoscenze di SQL e dei database può manipolare le query ottenendo l'accesso al sito web, ma potenzialmente anche all'intero database.

Attaccante
...

L'attaccante scopre che tramite dei metodi di input forniti dal sito è possibile iniettare codice SQL nel sito.

Allora l'attaccante sceglie il codice SQL da iniettare per manipolare la query SQL.