以下の内容はhttps://cysec148.hatenablog.com/entry/2025/07/22/183029より取得しました。


第29回 同一オリジンポリシー違反:ブラウザ側の設定を確認する

Hello there, ('ω')ノ

同一オリジンポリシーとは?

ブラウザが備えている基本的なセキュリティルールで:

  • 違うドメイン(オリジン)のページやデータには
  • 勝手にアクセスできないようにする

という仕組みです。

【オリジンとは?】

  • プロトコル(http / https)
  • ドメイン名
  • ポート番号

この3つがすべて一致していることが「同一オリジン」です。


どんな問題が起こるのか?

もし同一オリジンポリシーが適切に守られていない場合:

  • 社内システムのデータが外部サイトから読み取られる
  • 画面表示やCookie情報が盗まれる

といったリスクがあります。


実際のチェック手順① CORS設定を確認する

CORS(Cross-Origin Resource Sharing)は、 特別に「この外部サイトは許可」とするための仕組みです。

① ブラウザの開発者ツール → Networkタブ ② 任意のAPI通信を選択 → Response Headersを確認

✅ 観察ポイント:

「*」が設定されている場合、誰でもアクセスできる状態です。


実際のチェック手順② クロスサイトリクエストを試す

  1. 自社ドメインと異なるテストサイトを用意
  2. テストサイト上で以下のようなコードを実行
<script>
fetch("https://intra.example.co.jp/api/data")
  .then(response => response.text())
  .then(data => console.log(data));
</script>

✅ 結果:

  • データが取得できてしまう → 同一オリジンポリシー違反の疑いあり
  • エラーが出る → 正常

実際のチェック手順③ iframeやフォームPOSTで確認

  • 外部サイトからiframe内に社内システムを表示できないか?
  • 外部サイトからPOSTリクエストを送って操作できないか?

これらも開発者ツールとプロキシツールを併用してチェックします。


チェックリストまとめ

  • [ ] Access-Control-Allow-Origin の設定が「*」になっていないか?
  • [ ] 外部サイトからfetchやXHRでデータ取得ができないか?
  • [ ] iframeやフォームPOSTで不正操作ができないか?
  • [ ] 本番環境で試す前に必ず許可を取ったか?

社内向け補足ポイント

  • 社内限定システムであってもCORS設定は重要
  • クラウドサービス連携時は特に注意が必要

注意事項

  • 本番環境でテストする場合は関係部署と事前調整必須
  • 不正な操作ができた場合は速やかに開発担当へ報告

まとめ

  • 同一オリジンポリシーはブラウザが守る重要なルール
  • CORS設定やクロスサイトリクエストでチェック可能
  • 「誰でもアクセスできる状態」になっていないかを確認するのが目的

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/07/22/183029より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14