La RFC Websocket actuelle exige que les clients Websocket masquent toutes les données dans les trames lors de l'envoi (mais le serveur n'est pas obligé de le faire). La raison pour laquelle le protocole a été conçu de cette façon est d'empêcher que les données de trame ne soient altérées par des services malveillants entre le client et le serveur (mandataires, etc.). Cependant, la clé de masquage est toujours connue de ces services (elle est envoyée par trame au début de chaque trame)
Ai-je tort de supposer que ces services peuvent toujours utiliser la clé pour démasquer, modifier et masquer à nouveau le contenu avant de passer la trame au point suivant? Si je ne me trompe pas, comment cela corrige-t-il la vulnérabilité supposée?
Le masquage est inutile avec
wss://
aka WebSockets sur SSL / TLS. Puisqu'il est recommandé d'utiliser SSL / TLS dans la mesure du possible, vous pouvez raisonnablement conclure que le masquage couvre un cas d'utilisation marginal.la source