Perché una "tela contaminata" è un rischio?

9

Comprendo la preoccupazione di una tela contaminata: l'idea che i bit di un'immagine di un altro sito possano essere inviati a un server malevolo. Ma puoi spiegare i dettagli di come funziona esattamente?

Supponiamo che l'utente visiti nastysite.com e nastysite.com faccia una richiesta di immagine a mydatingsite.com o mybankingsite.com per ottenere un'immagine contenente informazioni private per l'utente e quindi esegue il rendering di questa immagine su una tela, ottiene i bit della tela e li rimanda al server nastysite.com .

Che aspetto avrebbe esattamente quell'URL di richiesta di immagini? Diciamo che è la tua immagine da un profilo del sito di incontri con cui hai effettuato l'accesso con un cookie di sessione ( mydatingsite.com ), o un'immagine di controllo da un sito bancario con cui hai effettuato l'accesso con un cookie di sessione ( mybankingsite.com ). In che modo nastysite.com sa quale specifico URL utilizzare? E funziona se la connessione che hai al sito di incontri o bancario avviene tramite HTTPS è parte di una sessione particolare?

Credo che questa sia davvero una domanda in più sui cookie di sessione. nastysite.com ha accesso gratuito ai cookie di sessione per mydatingsite.com e mybankingsite.com ? Può utilizzarli in una richiesta di immagine che i server mydatingsite.com e mybankingsite.com non possono dire non è una normale richiesta di sessione dalla propria pagina?

    
posta M Katz 09.02.2018 - 03:05
fonte

1 risposta

7

What exactly would that image request URL look like?

Non deve essere nulla di complicato o anormale. Ci sono due modi principali in cui questo potrebbe funzionare (se non fosse per le restrizioni nel browser):

  • Nel primo caso, esiste un URL specifico per l'immagine del profilo dell'utente corrente, ad esempio http://mydatingsite.com/currentuser/profileimage.jpg . Questo potrebbe essere un modo strano di progettare un sito, ma l'ho visto usato. Questo tipo di attacco funziona contro chiunque abbia effettuato l'accesso e non è necessario un URL personalizzato per il tuo target.
  • Il secondo funziona per gli attacchi mirati a un utente specifico. Se so che sei il proprietario dell'assegno con ID 12345, potrei scoprire come funziona utilizzando un URL come http://mybankingsite.com/checks/12345.png .

How does nastysite.com know what specific URL to use?

Come attaccante devi fare qualche ricerca. Puoi trovare gli URL o almeno i formati di URL nel codice sorgente della pagina da cui stai cercando di ottenere i dati.

And does it work if the connection you have to the dating or banking site is through HTTPS is part of a particular session?

Non sei sicuro di quale tipo di sessione stai parlando qui. Ma in generale funziona come se l'utente fosse connesso al sito in questione nello stesso browser in cui visita nastysite.com in.

Does nastysite.com have free access to your session cookies for mydatingsite.com and mybankingsite.com? Can it use them in an image request that the mydatingsite.com and mybankingsite.com servers can't tell isn't a normal session request from their own page?

Hai ragione che tutto ciò si riduce ai cookie. Non puoi leggere i cookie sulle origini incrociate, quindi nastysite.com non ha idea di cosa sia il tuo sessionid su mydatingsite.com . Ma per farlo funzionare, non c'è bisogno di leggere i cookie! Il browser è abbastanza gentile da inviare cookie su tutte le richieste, indipendentemente dall'origine della richiesta.

Se i browser non contrassegnano le tele con dati di origine incrociata come contaminate, questo sarebbe un vero problema. Si avrebbe una situazione simile a CSRF, in cui tutti i server devono avere una protezione in atto per fermare incidenti di origine incrociata. Le nuove funzionalità come la tela non dovrebbero interrompere la retrocompatibilità e forzare l'adattamento di tutti i siti esistenti. Ecco perché è stato introdotto il concetto contaminato.

Si noti che a parte i bug del browser, tutto ciò è abbastanza teorico in quanto i browser dovrebbero interrompere questo tipo di attacco.

    
risposta data 09.02.2018 - 11:19
fonte

Leggi altre domande sui tag