Come viene gestito l'HST sui sottodomini?

4

Di recente ho verificato un sito Web con tre host: il sito principale ( example.com ) e due sottodomini (chiamiamoli portal.example.com e < em> welcome.example.com ).

Secondo le intestazioni di risposta, l'HSTS è impostata correttamente per ciascun host:

strict-transport-security: max-age=2592000; includeSubDomains

Durante il caricamento degli host in Burp, non sono stato in grado di creare un'eccezione di sicurezza in Firefox per accettare il cert SSL autofirmato di Burp sul traffico HTTPS proxy (come previsto). Entrambi i sottodomini, tuttavia, consentono di creare un'eccezione di sicurezza in Firefox senza problemi. Inoltre, questo mi ha permesso di aggirare l'HSTS sul sito principale, dal momento che una volta era stata creata un'eccezione di sicurezza per uno dei sottodomini, ero in grado di proxy del traffico HTTPS per esempio.com senza problemi.

Cosa mi manca? Pensavo che l'HSTS avrebbe vietato questa attività, specialmente se è impostata su includeSubDomains .

    
posta user83426 06.11.2015 - 17:36
fonte

2 risposte

5

D: Perché l'HSTS mi ha permesso di scavalcare?
A: HSTS è un meccanismo TOFU (Trust-on-first-use). E questo significa: se sei stato intercettato la prima volta, sei fregato. E poiché (come sottolineato da Austin) l'intestazione includeSubDomains non è corretta sul dominio genitore, il tuo agente utente non sapeva nulla dei sottodomini. E l'installazione TLS si trova in un livello inferiore rispetto all'intestazione HTTP. Quindi il browser ha ottenuto solo la parola del del server No business divertente con errori di certificati di override! dopo averlo già fatto.

I thought HSTS would prohibit this activity

No. Una volta accettata una CA non attendibile come attendibile (e Firefox fa eccezioni in modo diverso, ma penso che questo è ciò che equivale a) tutte le scommesse sono disattivate.

D: Un certificato di HPKP bloccato sarà immune?
R: No. Per impostazione predefinita, Firefox interrompe un pin / non applica il pin se viene sovrascritto da una CA non installata in locale. (Ciò per consentire l'ispezione SSL.) (Ma puoi configurare manualmente Firefox per non interrompere mai i birilli con cambiando le impostazioni da 1 a 2 ).

    
risposta data 07.11.2015 - 15:12
fonte
7

Con HSTS, il browser convertirà automaticamente i collegamenti HTTP in collegamenti HTTPS. Tuttavia, per evitare errori e abusi, i browser accetteranno solo l'intestazione HSTS su una pagina protetta.

Per quanto riguarda il tuo caso, HSTS non consentirà agli utenti di accettare manualmente un autofirmato certificato una volta abilitato HSTS (che può essere eseguito solo da una pagina protetta). Questo spiega perché example.com non ti consente di accettare il certificato non valido.

Inoltre, sospetto che i sottodomini non siano adeguatamente protetti perché l'intestazione dice include SubDomains piuttosto che includeSubDomains (come definito in la specifica ).

Su una nota correlata, HPKP può fornire una protezione aggiuntiva contro i certificati dannosi.

    
risposta data 06.11.2015 - 19:33
fonte

Leggi altre domande sui tag