Ma question est donc la suivante : comment Firefox peut-il connaître l'adresse de la page de connexion ?
Ce n'est pas le cas, en fait.
Votre FAI utilise une technologie connue sous le nom de Portail captif . Les portails captifs fonctionnent en détournant "en quelque sorte" la requête HTTP du navigateur et en la redirigeant vers le portail de connexion.
Cet "en quelque sorte" peut être réalisé de différentes manières, par exemple
- Redirection HTTP
- Redirection ICMP
- Détournement de DNS
Votre navigateur, quant à lui, tente de détecter ce "détournement" en essayant de récupérer une page Web bien connue et en vérifiant si la réponse qu'il reçoit est celle qu'il attend ou autre chose. Voici quelques exemples de pages que ces "systèmes de détection de détournement" utilisent :
La page de Google donne un aperçu de son fonctionnement : Le serveur web répondra avec un HTTP 204 Aucun contenu code de statut . Un portail captif, cependant, sera retourner du contenu (sinon, cela ne servirait à rien) et donc ne jamais répondre avec un code d'état 204. Le plus souvent, il utilisera un 307 Redirection temporaire pour indiquer au navigateur d'aller chercher un autre URI (l'URI de la page de connexion du portail captif).
Les autres utilisent à la place un petit document au contenu bien connu (celui d'Apple, par exemple, contient simplement le mot "Success").
La détection du détournement ne doit pas nécessairement être effectuée par le navigateur, en fait. La plupart des appareils modernes exécutent automatiquement cette "détection de détournement de portail captif" dès qu'ils se connectent à un WiFi ouvert et font apparaître automatiquement une boîte de dialogue vous permettant d'accéder au portail captif, sans que vous ayez à ouvrir explicitement votre navigateur et à visiter une page Web.
La raison en est que dans le monde moderne de l'Internet, un navigateur n'est pas nécessairement la première application avec laquelle un utilisateur essaie d'utiliser l'Internet. Il peut s'agir du client Facebook, de WhatsApp ou du client de messagerie, par exemple.
Notez que j'ai utilisé le terme "détournement" délibérément. Ces techniques consistent en fait à effectuer un Attaque Man-in-the-Middle . (La différence étant qu'un "vrai" attaquant essaierait de vous rediriger vers un site Web qui ressemble exactement à celui que vous vouliez visiter et vous inciterait à saisir votre nom d'utilisateur et votre mot de passe sur le faux site Web). Par conséquent, ces techniques ne fonctionnent que si vous essayez de visiter un site web "non sécurisé", c'est-à-dire un site web qui n'utilise pas de protocole de sécurité. SSL/TLS (c'est-à-dire pas de https://
), n'utilise pas Sécurité du transport HTTP Strict (HSTS) et autres.
Cela commence à devenir un problème, car de plus en plus de sites web sont seulement accessible par HTTPS (TLS). Les navigateurs modernes se souviennent si un site Web prend en charge HTTPS et utilisent la version HTTPS, indépendamment de ce que vous saisissez dans la barre URI. Des techniques telles que HSTS garantissent que les navigateurs toujours utiliser la version cryptée d'un site web. Les versions plus récentes du protocole HTTP, telles que HTTP/2 et HTTP/3, ne sont pas strictement exiger mais tous les principaux fournisseurs de navigateurs ont décidé de ne les mettre en œuvre que pour les connexions HTTPS.
Si vous essayez de visiter Facebook ou SuperUser, par exemple, votre navigateur utilisera automatiquement une connexion cryptée et authentifiée, et lorsque le portail captif tentera de rediriger le navigateur vers la page de connexion, le navigateur détectera cette manipulation et lancera une erreur. Normalement, c'est exactement ce que vous voulez, mais dans ce cas, cela vous empêchera de vous connecter au portail captif et donc d'utiliser Internet.
Si vous rencontrez des problèmes lorsque vous êtes connecté au WiFi, mais que vos applications affichent des erreurs ou se chargent indéfiniment, il est presque certain que, pour une raison quelconque, vous n'êtes pas connecté au portail captif. Peut-être n'avez-vous pas vu la popup de notification, peut-être la détection a-t-elle échoué, il peut y avoir de nombreuses raisons.
Dans ce cas, vous pouvez résoudre le problème en visitant un site web que vous connaître est "non sécurisé", c'est-à-dire qu'il n'utilise pas HSTS, SSL/TLS ou HTTP/2 (la norme spécifie à la fois HTTP et HTTPS, mais les fournisseurs de navigateurs ont décidé qu'ils prendraient en charge seulement HTTPS pour HTTP/2 à l'avenir). Les URI susmentionnés devraient faire l'affaire, mais il existe en fait un site web que des personnes sympathiques ont mis en place et qui sert exactement cet objectif, et dont l'URI est facile à mémoriser : http://neverssl.com/ .
NeverSSL fait exactement ce que son nom suggère : il s'agit tout simplement d'un site web complètement inutile dont le seul but est de ne jamais utiliser SSL/TLS, HSTS, HTTP/2, QUIC ou quoi que ce soit d'autre que du HTTP/1.1 non crypté, non authentifié, non sécurisé et simple, afin que le portail captif puisse intercepter la requête et la rediriger vers sa page de connexion.