Favicon Reindirizzamento Possibile difetto di sicurezza

8

Ho il dominio example.com

Quando inserisco l'URL link , Chrome carica la pagina e tenta anche di caricare link e tale richiesta riceve un reindirizzamento 301 a ** http: //**main.example.com e ne riceve il contenuto HTML.

So come risolverlo, ma sono interessato a ciò che accadrà, perché main.example.com non è su https, chiunque potrebbe attaccare (sostituire DNS) e rispondere al reindirizzamento 301 con i suoi contenuti dannosi.
Era un reindirizzamento favicon, quindi almeno Chrome non sembrava eseguire il codice.
Ho cambiato il main.example.com per rispondere

<script type="text/javascript">alert("hola")   </script>

ma l'avviso non è stato eseguito.

Quindi questo è un difetto di sicurezza?

    
posta Ricardo Umpierrez 07.05.2015 - 15:29
fonte

3 risposte

4

Secondo la tua domanda, Chrome stava caricando una semplice favicon HTTP in una pagina HTTPS senza alcun avviso del browser. Interessante.

Il reindirizzamento verso un semplice sito Web HTTP non è di per sé una vulnerabilità. Tuttavia, è un difetto di sicurezza se il reindirizzamento è accidentale e vuoi che i tuoi utenti rimangano su un canale sicuro e affidabile per il tuo sito.

Il contenuto dello script non verrà eseguito in una favicon ma la richiesta potrebbe perdere i cookie se il dominio dei cookie non è impostato correttamente e secure flag non è impostato. Un utente malintenzionato potrebbe farlo anche con il tuo sito se l'utente visita qualsiasi sito sotto semplice HTTP.

Se ci sono exploit del browser che possono essere attivati da una favicon potresti mettere i tuoi utenti sono a rischio qui, anche se il reindirizzamento iniziale e l'exploit del browser sono davvero dei difetti nel browser piuttosto che nel tuo sito.

    
risposta data 07.05.2015 - 16:48
fonte
1

Esiste effettivamente una vulnerabilità, perché come hai osservato, un utente malintenzionato potrebbe intercettare il traffico sulla linea non protetta e modificarlo.

Il motivo per cui il tuo script non è stato eseguito è che questo è contenuto nella favicon e Chrome (apparentemente) non esegue script nella favicon.

Per sfruttare questo, dovresti ottenere Chrome per eseguire il codice nella favicon.
Un modo per farlo sarebbe quello di utilizzare un buffer overflow nel codice che rende la favicon, per fare in modo che Chrome esegua il payload nella favicon.
Un altro modo per farlo sarebbe quello di fare in modo che Chrome accetti un file SVG come favicon e quindi inserisce lo script all'interno di un tag foreignObject all'interno di SVG. (Disclaimer: non ho provato questo).

    
risposta data 07.05.2015 - 15:42
fonte
0

Reindirizzamento con tag Javascript o META

... Non è possibile inviare un codice di stato 301 tramite tag Javascript o META. Poiché il codice di stato HTTP della pagina rimarrà 200 OK ...

... Un altro svantaggio è che alcuni browser disabilitano l'aggiornamento di Javascript o META. Pertanto, è necessario includere un collegamento alla pagina di destinazione nel corpo della pagina ...

URL reindirizzamento

... Le intestazioni HTTP o il meta tag di aggiornamento possono essere preferiti per motivi di sicurezza e poiché JavaScript non verrà eseguito da alcuni browser e molti web crawler.

Questi link dicono che molti browser non eseguono javascript e tag META in reindirizzamento (301)

    
risposta data 07.05.2015 - 15:48
fonte

Leggi altre domande sui tag