At least for most of those the login is a separate protected page rather than a https iframe.
There are still parts of the world where caching proxies are used to conserve limited transit bandwidth; CDNs don't solve that.
Only if you're taking about a browser cache. Any other cache couldn't intercept the data and cache it without alerting the browser (unless you mess around with installing SSL certs).
Hard to believe this is still a common vulnerability. Of course, even in 2007 a significant number of bank and credit card web sites operated like this.
http://m.theregister.co.uk/2011/01/25/tunisia_facebook_passw...
You can even submit your domain [2] so that current browsers automatically apply the https-only preference to your domain, even when it hasn't ever been contacted before. Cool, isn't it?
[1] https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security [2] https://hstspreload.appspot.com/
Came across this last year... have seen variations of it over the last 15+ years, but saw it in 'new' code last summer. :/
The times I've implemented full-page caching (generally using Varnish) I've set it up so nginx runs in front of Varnish handling SSL termination, which means that I still have SSL support even though I'm serving through a cache.
I'm glad they mentioned it. Too many people think their sites are secure if logged in sessions use https and everything else is http.
Their example is that an attacker could insert JavaScript to steal the password, however they could just as well change the form target from https to http which is even less noticeable.
There's also a more detailed post [0] with reasons and explanations. You can enable this setting in Firefox 44+ by setting `security.insecure_password.ui.enabled` to true.
0: https://blog.mozilla.org/tanvi/2016/01/28/no-more-passwords-...