Dans mon entreprise, nous écrivions une petite application Web qui serait hébergée et testée sous le protocole HSTS.
Un de mes testeurs s'est plaint que le nom d'utilisateur et le mot de passe peuvent être vus en texte clair, il n'est donc pas sécurisé. J'ai répondu qu'en raison de la mise en œuvre de HSTS, il ne pouvait pas être déchiffré. J'ai signalé wireshark
logs et prouvé qu'il était crypté.
Mon testeur a souligné Firebug
de son propre navigateur et a dit qu'il affiche un nom d'utilisateur et un mot de passe en clair, donc il n'est pas sécurisé.
De ce qui précède, voici mon analyse et mes questions:
Étant donné que HSTS permet la sécurité lorsque les données passent du navigateur au serveur Web, Firebug
n'est qu'un plugin de navigateur, il connaît tout dans l'arborescence DOM pour pouvoir afficher les champs de formulaires, les noms d'utilisateur et les mots de passe.
Est-il possible de désactiver Firebug
d'identifier l'arbre dom?
La révélation du contenu de Firebug
est-elle vraiment une vulnérabilité? Si oui, comment puis-je l'atténuer?
On dirait qu'il y a une certaine confusion sur les protections fournies par les différentes parties de votre système.
HSTS applique HTTPS pour les utilisateurs qui ont déjà visité le site via HTTPS, pour une période donnée. Si un utilisateur n'a jamais visité la version HTTPS d'un site et que le site est également disponible sur HTTP (sans redirection vers HTTPS), il ne fera rien - le trafic sera non chiffré.
Firebug accède aux données après décryptage - c'est un outil de débogage. Si le navigateur peut le voir en clair, Firebug peut le voir en clair. Ce n'est pas une vulnérabilité, à moins que le site Web envoie des données qui ne devraient pas être envoyées (par exemple, les mots de passe du serveur), auquel cas la vulnérabilité réside dans le site Web, pas dans Firebug.
Si vous envoyez des mots de passe du serveur au client, vous avez un problème - cela ne devrait jamais être requis. Les mots de passe doivent être considérés comme une chose à sens unique - les utilisateurs les saisissent et ils sont vérifiés côté serveur. Cela minimise les risques de découverte de mots de passe sans un compromis de serveur plus important.
NonFirebug
ne déchiffre pas le trafic SSL.
Firebug
rappelle juste un détail clé: une connexion SSL offre une protection contre l'écoute sur le chemin de connexion. SSL doit être considéré comme un tunnel crypté (VPN en est un autre), mais aux deux extrémités du tunnel, tout est en pleine lumière: en clair.
Firebug
ce n'est pas une vulnérabilité du tout.