Quali sono le potenziali vulnerabilità che potrebbero verificarsi se una pagina Web è solo parzialmente crittografata.
Posso pensare a 2 possibilità:
-
Puoi modificare le parti non crittografate della pagina (HTML, CSS, Immagini, JS) tramite un attacco MITM per modificare parzialmente l'aspetto della pagina.
-
È possibile iniettare JS dannoso tramite la connessione non protetta per sottrarre / modificare le parti crittografate della pagina, rendendo così l'intera connessione non sicura.
Il secondo scenario è possibile o i browser Web incorporano alcuni meccanismi di sicurezza per impedire che ciò accada?
Questa domanda ha anche implicazioni per quanto riguarda lo Stack Exchange n / w, poiché solo l'iframe contenente il modulo di accesso all'interno della pagina di accesso è crittografato: link
Aggiornamento:
Come sottolineato da @Ladada, questa domanda è in realtà suddivisa in più parti:
Caso 1: una pagina non sicura che carica un iframe sicuro per trasmettere dati riservati
Risposta : come indicato da davidwebster48 nella sua risposta, questo meccanismo è banalmente sconfitto poiché la pagina genitore non sicura può essere manipolata per caricare l'iframe con una pagina diversa da quella dell'avversario. Come nota a margine, ciò significa che il sistema di accesso di StackExchange è vulnerabile agli attacchi MITM malgrado l'uso di moduli di accesso https.
Caso 2: una pagina sicura che carica una pagina non sicura tramite un iframe
(Supponendo che nessun dato riservato sia gestito dall'iframe insicuro). Questo caso è particolarmente interessante nel fatto che anche le politiche Same-Origin entrano nell'equazione. Anche se entrambe le pagine possono appartenere allo stesso dominio, poiché utilizzano entrambi protocolli diversi, (un HTTPS e l'altro HTTP) ciò causerà l'introduzione di restrizioni della stessa origine. Non sono sicuro che queste restrizioni siano sufficienti per fermare il nostro aggressore morto nelle sue tracce.
Caso 3: una pagina sicura che collega a JS non sicuro
La mia risposta : penso che questo sia ovviamente un errore poiché l'utente malintenzionato potrebbe modificare il file JS per accedere / manipolare l'intera pagina.
Caso 4: una pagina protetta che collega a fonti non sicure come le immagini, i CSS
L'attaccante potrebbe modificare l'aspetto della pagina per eseguire un attacco di phishing? O potrebbe montare un attacco Cross-Site Scripting?