Non entrerò nei dettagli di come funzionano gli attacchi di cookie e di overflow dei cookie, perché questa risposta lo spiega perfettamente. Questo post su github spiega alcune strategie di mitigazione, ma non parla del caso in cui a.domain.com
può fare cose dannose a b.domain.com
.
La soluzione proposta è di ospitare contenuti non attendibili su un secondo dominio. Ad esempio, se eseguiamo mycompany.com
, dovremmo memorizzare il contenuto utente in un secondo dominio come mycompany-users.com
.
Supponiamo di avere questo scenario: la nostra azienda offre un servizio SaaS per i nostri clienti. Ad ogni cliente verrà assegnato il proprio URL per accedere e utilizzare il servizio. Ai clienti è consentito personalizzare l'aspetto della propria istanza modificando l'HTML, il css e il javascript delle proprie pagine.
In questo caso, abbiamo company1.mycompany-users.com
e company2.mycompany-users.com
.
Diciamo che un dipendente malintenzionato chiamato Mallory a company1
implementa qualche javascript che utilizza un attacco di lancio di cookie o un attacco di overflow di cookie jar per impostare o sostituire i cookie su .mycompany-users.com
.
Un dipendente a company2
viene quindi ingannato per visitare quella pagina su company1.mycompany-users.com
e avere i suoi cookie su .mycompany-users.com
sostituiti o modificati.
Poiché il server non riceve il dominio del cookie, non possiamo escludere i cookie dai loro domini. A condizione che l'app sia protetta, l'autore dell'attacco non può leggere o scrivere informazioni su company1.mycompany-users.com
. Inoltre, gli ID di sessione vengono rigenerati al momento dell'accesso. Tuttavia, infastidisce ancora le persone perché i dati della sessione sono danneggiati e se l'utente è connesso a company2.mycompany-users.com
verrà disconnesso perché l'ID della sessione non è valido.
Oltre a costringere i clienti a comprare i propri domini, c'è comunque modo di impedire che persone malevoli in company1.mycompany-users.com
inducano gli utenti a company2.mycompany-users.com
a uscire a causa di attacchi di cookie?