Unmask a client frame
Practitioner 20 ptsGoal: Read a token the browser sent to the server in a masked WebSocket frame.
Capture it yourself — real traffic
- Open Wireshark on your active interface and start a capture. Display filter for this level:
websocket. No GUI?sudo tcpdump -i any -w cap.pcap port 9080. - Open the plaintext lab and click Generate traffic once.
- Stop the capture. The secret is in the masked
authframe the browser sends on/ws. Find the client→server frame (MASK: set). Wireshark unmasks it — read{"type":"auth","token":"…"}.
Open the plaintext lab (:9080) →
Genuinely unencrypted — the secret exists only on the wire, never on the page.
Hints
Open in order — they nudge, not solve.
Hint 1
This time the secret goes the other way — the client sends it. Still filter websocket.
Hint 2
Client frames are XOR-masked, but Wireshark unmasks them for you: look for the frame with MASK: set going client→server and read its decoded payload.
Hint 3
It's {"type":"auth","token":"…"} — the CLIENT-WS-… value is the answer.