攻撃を試す コマ40

postMessage の送信元検証

postMessage はフレームやウィンドウ間でデータをやり取りする機能。 受信側が送信元オリジンを確認しないと、悪意あるサイトから 不正なデータ(=外部入力)を受け取ってしまう。受け取った値をそのまま innerHTML に入れればXSSにもなる。

受信側(このページ)

下のボタンで、自分自身に2種類のメッセージを送る(本来は別ウィンドウから届く想定)。

受信内容: (なし)

要点: message 受信時は必ず event.origin を 想定した値と照合する。受け取ったデータは外部入力として扱い、DOMに入れるときは textContent/サニタイズする。

あなたの座席ID: ff6264745a8e この演習をリセット 演習一覧へ