Man in the middle usando HTTPs effettua il downgrade a HTTP
In generale, i browser tentano di stabilire una connessione HTTP, se possibile. Come forzeresti un browser a eseguire il fallback su HTTP quando qualcuno inserisce asdf.xyz nella barra di ricerca del suo browser senza specificare un protocollo?
Pertanto: sslstrip probabilmente non è utile in quanto non ci sono collegamenti a "fake". Inoltre, si presume che il sito non utilizzi HSTS.
Supponendo che si possa eseguire MITM, come verrebbe eseguito il routing con iptables / quali comandi occorrono per far credere al browser che HTTP non è disponibile e per eseguire il fallback su HTTP?
Risposte
Penso che tu possa avere un leggero malinteso nella premessa della tua domanda. Se il sito non utilizza HSTS e l'utente accede example.comalla barra degli indirizzi del proprio browser, per impostazione predefinita il browser sarà http://example.com, no https://example.com.
Vedi le seguenti domande su security.stackexchange.com e altrove su stackexchange.com, per ulteriori informazioni su questo comportamento:
Perché i browser utilizzano per impostazione predefinita http: e non https: per gli URL digitati?
Perché HTTPS non è il protocollo predefinito?
https://superuser.com/questions/799464/how-does-a-web-browser-know-if-destination-is-http-or-https
Questo è precisamente il motivo per cui ora abbiamo HSTS . HTTPS Everywhere è un altro tentativo di risolvere questo problema.