Manipulation de messages WebSocket
Manipulating WebSocket messages to exploit vulnerabilities
Cette boutique en ligne dispose d’une fonctionnalité de chat en temps réel implémentée à l’aide de WebSockets.
Les messages envoyés par l’utilisateur sont affichés instantanément dans le navigateur d’un agent du support.
L’objectif du laboratoire est de déclencher une popup alert() dans le navigateur de l’agent en manipulant un message WebSocket.
Un champ de chat est disponible sur l’application.


En inspectant le trafic, on constate que les messages sont envoyés via WebSocket sous la forme suivante :
Test de filtrage
On tente d’envoyer le payload suivant via le chat :
Résultat observé : Le contenu est échappé côté serveur et interprété comme du texte :

Cela indique la présence d’un filtrage basique contre les balises <script>.
Contournement du filtrage
On force alors l’envoi manuel d’un message WebSocket contenant le payload suivant :
Le message est forwardé directement via la requête WebSocket, sans passer par les contrôles habituels de l’interface.

Lorsque l’agent du support reçoit le message, le navigateur interprète l’attribut onerror, ce qui déclenche :
l’exécution de
alert(0)l’apparition d’une fenêtre popup dans le navigateur de l’agent

Mis à jour