Same-Origin Policy プローブ (失敗確認用)
親 DOM、storage、cookie へのアクセスを試し、SOP が何を止め何を許すかを確認します。
sandbox ポリシー別の挙動
| ポリシー | 想定結果 |
|---|---|
| sandbox 未指定 | ブロック |
sandbox="allow-scripts" | ブロック |
sandbox="" (最も厳格) | ブロック |
このシナリオは sandbox とは別に Same-Origin Policy が直接ブロックします。
Embed スニペット
このスニペットは埋め込み専用ページを使用します。自サービスに貼り付けてレンダリング/ブロックの挙動を確認してください。
<iframe src="https://xss-playground.com/embed/sop-probe?lang=ja" title="XSS Playground - Same-Origin Policy プローブ (失敗確認用)" width="600" height="420" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
このページは失敗すべき操作を確認するページです。親への直接アクセスはすべてブロックされるのが正常です。同一 origin で埋め込んだ場合は一部成功することがあります。
実行
// ログなし
解説
- cross-origin iframe は親の DOM、storage、cookie を直接読めません。ここが SOP が本当に保護する領域です。
- 一方で
parent.location書き込み、parent.postMessage、form submit、fetch 送信自体は cross-origin でも許可されることがあります。 - cross-origin iframe の危険面は、直接的な親データ窃取よりも、ユーザー欺瞞、message handler の誤用、自動リクエストに近いことが多いです。