La CSRF è possibile contro un download PDF che richiede l'autenticazione dei cookie?

1

Un sito su cui lavoro ha un link che scarica e apre un PDF contenente dati utente sensibili. Il cookie di autenticazione dell'utente viene controllato sul lato server per garantire che abbiano accesso ai dati prima di generare e servire il PDF. Tuttavia, mi sono preoccupato per la prospettiva di dati trapelati da un attacco CSRF. Poiché il PDF viene aperto dall'utente facendo clic su un ordinario <a> link, la maggior parte delle difese CSRF non sono vitali o implicano sicurezza o compromessi UX. Ad esempio:

  • L'aggiunta di un'intestazione personalizzata con un token CSRF o il doppio invio del token di autenticazione tramite un'intestazione richiederebbe l'utilizzo di un XHR tramite JavaScript per effettuare la richiesta per il PDF e interromperà la possibilità dell'utente di aprire il collegamento in una nuova scheda
  • L'aggiunta di qualsiasi tipo di token all'URL del link renderebbe l'URL meno leggibile e user-friendly

Ho ragione ad essere preoccupato per CSRF in questo scenario, o la stessa politica di origine è sufficiente per farmi basare solo sull'autenticazione dei cookie per questo endpoint senza timore di perdite di dati utente? Il tipo di attacco che sto immaginando è simile al famoso difetto di Gmail CSRF che ha trapelato la tua lista di contatti - sono preoccupato che provocando il download in un modo che fa scattare alcuni effetti collaterali nel browser, un sito di attacco potrebbe fare inferenze su il contenuto del PDF, anche se non ho idea di quale sarebbe il meccanismo preciso di un tale attacco.

    
posta Mark Amery 24.10.2017 - 15:59
fonte

1 risposta

1

Un CSRF è un'operazione di sola scrittura dal punto di vista dell'attaccante. Ciò significa che l'autore dell'attacco può avviare il download o la visualizzazione del PDF all'interno del browser client, ma non può accedere al PDF appena scaricato. L'utente malintenzionato potrebbe ottenere alcune informazioni sulla meta, come ad esempio un po 'di tempo insieme all'euristica per rinviare se il download ha avuto successo o per quanto tempo il PDF potrebbe essere.

... famous Gmail CSRF flaw that leaked your contacts list

In questo attacco Gmail ha fornito l'elenco dei contatti come Javascript che poteva essere incluso nella pagina degli aggressori e che sarebbe stato eseguito nel contesto della pagina degli attaccanti. Questo è specifico per lo script e di solito non può essere fatto con un PDF.

L'utente malintenzionato potrebbe naturalmente provare a includere il PDF come script. Si potrebbe effettivamente costruire un PDF che sia sia un PDF valido sia un Javascript valido e quindi se l'autore dell'attacco ha un controllo sufficiente sulla generazione del PDF, potrebbe essere in grado di utilizzare questa tecnica per ottenere l'accesso alla parte sconosciuta del PDF.

    
risposta data 24.10.2017 - 16:05
fonte

Leggi altre domande sui tag