クリップボード hijack
iframe 領域でユーザーがコピーしたとき、copy イベントを横取りして別の内容で上書きします。
sandbox ポリシー別の挙動
| ポリシー | 想定結果 |
|---|---|
| sandbox 未指定 | 動作 |
sandbox="allow-scripts" | 動作 |
sandbox="" (最も厳格) | ブロック |
Embed スニペット
このスニペットは埋め込み専用ページを使用します。自サービスに貼り付けてレンダリング/ブロックの挙動を確認してください。
<iframe src="https://xss-playground.com/embed/clipboard-hijack?lang=ja" title="XSS Playground - クリップボード hijack" width="600" height="420" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
実行
この行を選択してコピー(Cmd/Ctrl+C)してください。クリップボードには別の内容が入ります。
// ログなし
解説
copyイベントは iframe 自身の origin 内で自由に横取りできます。ユーザーがサービス内のテキストをコピーしたつもりでも、実際のクリップボードは攻撃者の内容になります。- 実攻撃の価値: 送金先アドレスを似た別アドレスに差し替える、シェルコマンドを危険なコマンドに置き換えるなど。
navigator.clipboard.writeTextはユーザー操作、フォーカス、権限が必要なため、自動呼び出しは通常ブロックされます。sandbox=""なら JS 自体がブロックされ、この攻撃も止まります。